解決C 中取消方向鍵對控制項焦點控制的實現方法

2022-09-26 09:24:14 字數 673 閱讀 6846

在c# winform 應用程式中,對於鍵盤響應事件,經常使用到"keypress"、「keyup」、"keydown"事件,可以處理某個按鍵的自定義處理事件。有時想定義方向鍵的自程式設計客棧定義處理事件時,你可以發現,雖然自定義的處理事件發生了響應,但是也可以看到,按下方向鍵時,發現窗體上控制項的焦點也發生了切換。而這種結果不是我們想要的,我們不想按下方向鍵時,控制項的焦點發生切換,只想響應我們自定義的處理函式即可。下面的方法可以取消方向鍵對控制項焦點的控制:

複製** **如下:

protected override bool processcmdkey(ref message msg, keys keydata)//取消方向鍵對控制項的焦點的控制項,用自己自定義的函式處理各個方向鍵的處理函式

return base.processcmdkey(ref msg, keydata);

}upkey()、downkey()、leftkey()、rightkey()分別是自定義的各個方向鍵的處理函式。在各個自定義處理函式之後使用return true 表示對按鍵的響應不繼續處理,直接返回,這樣就可以避免了方向鍵對控制項焦點的控制。對於其他的按鍵,return base.processcmdwww.cppcns.comkey(ref msg, keydata);使用預設的處理。

本文標題: 解決c#中取消方向鍵對控制項焦點控制的實現方法

本文位址:

C 中呼叫方向鍵和回車

確保您已經引用了system.windows.forms dll檔案.system.windows.forms.sendkeys.send a 發射乙個a訊號。ctrl shift alt 如,您想傳送乙個ctrl a 全選 到某個程式。則system.windows.forms.sendkeys....

解決SQL Plus中退格 方向鍵等不可使用的問題

解決sql plus中退格 方向鍵等不可使用的問題 sql plus中,退格鍵backspace為 h,上下右左分別是 a b c d,更別說上翻下翻上下次記錄了。來實現,讓sqlplus像 bash一樣支援歷史記錄上下翻等功能。1.安裝rlwrap 0.42 1.el5.i386.rpm root...

C語言使用getch 讀取方向鍵

對於和我一樣的菜鳥而言,剛開始寫程式經常要用到方向鍵,來實現控制 比如貪吃蛇 俄羅斯方塊等等 由於使用 和使用 wasd比較 輸入顯得更直觀一些直觀一些,所以大家更傾向用方向鍵輸入。但有一點需要注意 1 使用getch讀取字元時,讀取一次就行 2 而讀取方向鍵和功能鍵是,需要讀取兩次 第一次的返回值...