C 鍵盤按鍵的操作

2021-10-04 04:39:13 字數 1291 閱讀 2213

對於鍵盤按鍵的操作c#提供了三種方法:keydown,keypress 和keyup 。三個函式分別對應的意義為:

1.keypress主要用來捕獲數字(注意:包括shift+數字的符號)、字母(注意:包括大小寫)、小鍵盤等除了f1-12、shift、alt、ctrl、insert、home、pgup、delete、end、pgdn、scrolllock、pause、numlock、、和方向鍵外的ansi字元

keydown 和keyup 通常可以捕獲鍵盤除了prscrn所有按鍵(這裡不討論特殊鍵盤的特殊鍵)

2.keypress 只能捕獲單個字元

keydown 和keyup 可以捕獲組合鍵。

3.keypress 可以捕獲單個字元的大小寫

4.keydown和keyup 對於單個字元捕獲的keyvalue 都是乙個值,也就是不能判斷單個字元的大小寫。

5.keypress 不區分小鍵盤和主鍵盤的數字字元。

keydown 和keyup 區分小鍵盤和主鍵盤的數字字元。

6.其中prscrn 按鍵keypress、keydown和keyup 都不能捕獲。

不管是keypress、keydown還是keyup 都需要在使用之前先將keypreview屬性置位true,方法如下所示:

public ***_form_x()

然後就可以重寫事件了,**如下所示(當然也可以在屬性欄的事件按鈕中雙擊需要使用的事件的名字就會自動生成並且跳轉到事件),**如下:

private void ***_form_x_keydown(object sender, keyeventargs e)

if (e.keydata == keys.up)

if (e.keyvalue == 27) }

private void ***_form_x_keypress(object sender, keypresseventargs e)

if (e.keychar == 97)

//keychar是不區分數字是否在大小哪個鍵盤的

if (e.keychar == 48)

}private void ***_form_x_keyup(object sender, keyeventargs e)

//小鍵盤的數字0

if (e.keycode == keys.numpad0)

//主鍵盤的數字0

if (e.keycode == keys.d0)

}

C 模擬鍵盤按鍵(ALT,CTRL

dllimport user32.dll static extern void keybd event byte bvk,byte bscan,uint dwflags,uint dwextrainfo dllimport user32.dll static extern byte mapvirtu...

模擬鍵盤按鍵

模擬全域性按鍵可以用keybd event,sendinput來完成,下面是模擬一次caps lock 按鍵時兩個api函式的實現方法 keybd event keybd event vk capital,0,keyeventf extendedkey 0,0 key down keybd even...

模擬鍵盤按鍵

textbox1.focus sendkeys.send v 模擬鍵盤按鍵ctrl v 貼上 鍵 backspace 或或break caps lock del或delete 或向下鍵 endenter 或 esc help home ins或insert 或向左鍵 num lock page do...