编写人: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} |