C#键盘事件处理

键盘事件是在用户按下键盘上的一个键的时候发生的,可分为两类。第一类是KeyPress事件,当按下的键表示的是一个ASCII字符的时候就会触发这类事件,可通过他的KeyPressEventArgs类型参数的属性KeyChar来确定按下的键的ASCII。使用KeyPress时间无法判断是否按下了修改键(Shift,Alt和Ctrl),为了判断这些动作,就要处理KeyUp 或KeyDown事件,这些时间组成了第二类事件。该类事件有一个KeyEventsArgs类型参数,通过该参数可以测试是否按下了一些修改键。

1.       KeyPressEventArgs类的主属性(KeyPress事件的一个参数类型)
(1).Handle属性:用来获取或设置一个值,该值指示是否处理过KeyPress事件。
(2).KeyChar属性:用来获取按下的键对应的字符,通常是该键的ASCII玛(返回的是键盘的值,如按‘K‘返回就是K)。

2.KeyEventArgs类的主属性(KeyUp和KeyDown事件的一个参数)
(1).Alt属性:用来获取一个值,该值提示是否曾按下了Alt键
(2).Control属性:用来获取一个值,该值提示是否曾按下了Crtl键
(3).Shift属性:用来获取一个值,该值提示是否曾按下了Shift键
(4).Handle属性:用来获取一个值,该值提示是否曾处理过此事件
(5).KeyCode属性:以Keys枚举值返回键盘键的键码,该属性不包含修改键信息,用于测试指定的键盘键
(6).KeyData属性:以Keys枚举值返回键盘键的键码,该属性包含修改键信息,用于判断按下键的所有信息(可返回组合键)
(7).KeyValue属性:以整数形式返回键码,而不是Keys枚举类型值。用于获得所按下键的数字表示
(8).Modifiers属性:以Keys枚举值返回所按下的修改键,仅判断修改键的信息

原文地址:https://www.cnblogs.com/hwl1023/p/6011102.html