編寫人:CC阿爸
2015-4-8
近期在修改系統時,想給一畫面增加一個組合鍵功能,但在form_keypress事件中加入代碼,但無論如何也不能觸發該動作。
今天在這里,我想與大家一起分享代碼不執行的原因,在此做個小結,以供參考。有興趣的同學,可以一同探討與學習一下,否則就略過吧。
1、首先找到我出問題的根本原因是:KeyPreview 沒有設置true ,如果沒有設置為true,畫面如果有button存,象return enter之類集點肯定會在button上。
所以第一時間先將KeyPreview 設置為true。
2、下面再看看如何處理組合鍵的問題:
1) 二個組合鍵比較容易處理
1privatevoidfrmLocalUpdate_KeyPress(objectsender,KeyPressEventArgse)//CTRL+S2{3if((Control.ModifierKeys&Keys.Control)==Keys.Control&&e.KeyChar==19)4{5OpenUpload();6}7}要指定在按鍵(如 Enter 或 Tab)時不顯示的字符,以及表示操作而不表示字符的鍵,請使用下表中的代碼。
| 鍵 | 代碼 |
| Backspace | {BACKSPACE}、{BS} 或 {BKSP} |
| Break | {BREAK} |
| Caps Lock | {CAPSLOCK} |
| Del 或 Delete | {DELETE} 或 {DEL} |
| 向下鍵 | {DOWN} |
| End | {END} |
| Enter | {ENTER} 或 ~ |
| Esc | {ESC} |