WPF中更改鍵盤預設指令小結

2022-03-21 08:30:56 字數 983 閱讀 4209

在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...