关于KeyPress,KeyDown和KeyUp

来源:互联网 发布:java js 编辑:程序博客网 时间:2024/05/16 10:35

 今天写程序时需要判断按键,发现keyPress和KeyDown事件里不能表示方向键,不知是微软的失误还是另有原因(可能有其它方法,我并没有发现).经过尝试,最终发现KeyUp事件可以指示方向键的功能.查了一点资料,希望对自己以后有帮助.

1.KeyPress主要用来接收字母、数字等ANSI字符.
2.KeyDown 和 KeyUP 事件过程可以处理任何不被 KeyPress 识别的击键,诸如:功能键(F1-F12)、编辑键、定位键以及任何这些键和键盘换档键的组合等。
3.KeyDown 和 KeyUp 事件不同的是,KeyPress 不显示键盘的物理状态(SHIFT键),而只是传递一个字符。
4.KeyPress 将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符。而 KeyDown 和 KeyUp 用两种参数解释每个字符的大写形式和小写形式:keycode — 显示物理的键(将 A 和 a 作为同一个键返回)和 shift —指示 shift + key 键的状态而且返回 A 或 a 其中之一。

5. KeyDown、KeyUp事件是当按下 ( KeyDown ) 或松开 ( KeyUp ) 一个键时发生的。由于一般按下键盘的键往往会立即放开(这和鼠标不同),所以这两个事件使用哪个差别不大。