如何準確判斷按下的是組合鍵,只允許輸入數字鍵等

2021-06-20 11:26:02 字數 822 閱讀 9534

不是所有的組合鍵winform都支援,winform目前只支援ctrl、alt、shift + 普通鍵形式的組合鍵,並且只有keydown和keyup事件才能獲取到組合鍵資訊並正常影響。**如下:

第一種寫法:

private void textbox1_keydown(object sender, keyeventargs e)

第二種寫法:

如果是多個組合鍵e.control,e.alt,e.shift 返回布林值,分別代表這三個鍵是否被按下

private void textbox1_keydown(object sender, keyeventargs e)

由此可知,第一種寫法也可以改為第二種寫法的方式,微軟只提供和支援e.control,e.alt,e.shift 這三個功能鍵 + 乙個普通鍵的組合方式。這三個鍵可以出現乙個或同時出現多個,但普通鍵只能出現乙個,否則無法正確判斷。組合鍵的形式有如下幾種:

ctrl + 普通鍵

alt + 普通鍵

shift + 普通鍵

ctrl + alt + 普通鍵

ctrl + shift + 普通鍵

alt + shift + 普通鍵

ctrl + alt + shift + 普通鍵

如果是只允許輸入數字鍵和退格鍵:

if (!(regex.ismatch(e.keychar.tostring(), "^[0-9]$")||e.keychar=='\b'))

c 中按下組合鍵

form窗體中判斷按鍵觸發 捕捉 1.把窗體的keypreview設為true 2.用form1 keyup form1 keydown來捕捉資訊 注 keyeventargs的keycode成員用於標識按鍵 modifiers成員用於標識指示按下的 ctrl shift 和 alt 鍵的組合。例 ...

C 中如何判斷組合鍵

之前總會碰到一些程式設計中的小發現或者在網上搜尋問題的時候,發現了一些解決辦法,完成工作,記到腦子裡也就是了。但好記性不如爛筆頭子,我之前上學的時候對老師的這句話很不以為然,可能當時也是記憶力好的時期的緣故吧,現在好多東西一段時間不用不接觸就忘記了,所以,準備在blog裡把一些小小的程式設計心得什麼...

linux下的組合鍵

在linux 終端下不能按ctrl s ctrl s 在終端下是有特殊用途的,那就是暫停該終端,ctrl q 退出這種狀態,讓終端繼續執行 ctrl s在早期的計算機中用來暫停螢幕的輸出,因為那時候的螢幕輸出比較慢,眼和手還可以配合使用。注 即便終端在鎖定狀態下,你輸入的命令雖然無法在螢幕上顯示出來...