在system.windows.input 裡有著所有鍵的集合,經測試要注意以下幾點(純實踐所得經驗,還請高手指明下面不明白地方的原因):
1. 普通情況下key就夠用了
2. 當某個鍵在特定的環境下充當某種系統預設的功能時就要用到systemkey,如alt鍵在視窗中預設是啟用選單,這時用key來判斷就不起作用了。
如下例作示,在textbox1中按右alt鍵將還是啟用選單,而左alt鍵盤卻實現了換行的功能。
private
void
textbox1_keydown(
object
sender, keyeventargs e)
}
3.組合鍵的使用,首先,組合鍵的實現是使用系統預設功能,所以必須用systemkey,然後需要用到keyboard.modifiers,如:alt+f
if(keyboard.modifiers
==modifierkeys.alt
&&e.systemkey
==key.f)
//do some work
4. 在支援換行的控制項中(如textbox開啟acceptsreturn="true"時)回車鍵變成了換行功能,而ctrl+回車鍵才是預設的回車功能,注意這時雖然是組合鍵,但只有用key才有效(不明原因,請指教):
if(keyboard.modifiers
==modifierkeys.control
&&e.key
==key.enter)
if(keyboard.modifiers
==modifierkeys.control
&&e.systemkey
==key.enter)
並且此時用e.systemkey == key.return也無法擷取回車(不明原因,請指教)。
WPF向指定視窗傳送鍵盤指令
現在網上的庫大部分都是vb的那個傳送鍵盤指令的庫,那個在wpf裡面是用不了的,wpf的話可以用system.windows.forms中的其實跟vb中的microsoft.visualbasic.devices這個裡面的sendkeys用法差不多一樣,吐槽一下,新的這個也可以在vb中使用好像,我看m...
Visual Studio 中的預設鍵盤快捷方式
編輯.摺疊所有大綱顯示 ctrl m ctrl a 編輯.摺疊當前區域 ctrl m ctrl s 編輯.展開所有大綱顯示 ctrl m ctrl x 編輯.展開當前區域 ctrl m ctrl e 編輯.注釋選定內容 ctrl k ctrl c 編輯.刪除水平空白 編輯.編排文件格式 ctrl k...
在WPF中快速實現鍵盤鉤子
原文 在wpf中快速實現鍵盤鉤子 大部分的時候,當我們需要鍵盤事件的時候,可以通過在主視窗註冊keybinding來實現,不過,有的時候我們需要的是全域性鍵盤事件,想在任何乙個地方都能使用,最開始的時候我是通過鍵盤鉤子來實現的,不過鍵盤鉤子這種dll呼叫的方式怎麼都看著不大爽,這裡介紹一種通過eve...