我对KeyEventArgs的KeyCode、KeyData和KeyValue有疑问,KeyCode和Keydata都是Keys型的,但是我不知道它们之间有什么区别。对于KeyValue,我不知道它是什么--它有一个int类型,它会返回被按下的键的char值吗?
我对关键事件没有太多的经验;任何关于它们如何工作以及如何使用它们的解释都会非常感谢。
发布于 2011-08-16 20:28:11
KeyCode包含生成KeyUp或KeyDown事件的键的数据。KeyData包含该键与CTRL键、SHIFT键或ALT键(如果按下其中任何一个)的组合。
示例:
按住Ctrl键(
Keys.ControlKey | Keys.Control.KeyDown键,KeyCode键为Keys.ControlKey键,KeyData键仍为SHIFT键。KeyDown将被提升,KeyCode将为Keys.ShiftKey,KeyData将为Keys.ShiftKey请注意,KeyData和KeyCode可以包含Keys枚举中的任何值(例如Keys.A、Keys.NumPad4或Keys.Up)。请注意,当按下其中一个修改键时,它在KeyData中由两个值表示(一个用于它们的关键点,另一个用于修改器值)。也可以通过Modifiers属性获得修饰符。
KeyValue将返回一个表示键的数值,本质上是一个表示在KeyCode中找到的值的整数。
https://stackoverflow.com/questions/7078125
复制相似问题