KeyEventArgs.KeyData, KeyEventArgs.KeyCode and KeyEventArgs.
本文关键字:KeyEventArgs and KeyCode KeyData | 更新日期: 2023-09-27 18:05:48
我对KeyEventArgs
的KeyCode
、KeyData
和KeyValue
有疑问。KeyCode
和Keydata
是Keys类型,但我不知道它们之间有什么区别。对于KeyValue
,我不知道它是什么——它有int
类型,它会返回按下的键的char
值吗?
我对关键事件没有太多经验;任何关于它们如何工作以及如何使用它们的解释都将不胜感激。
KeyCode
包含生成KeyUp
或KeyDown
事件的密钥的数据。KeyData
包含该键与CTRL、SHIFT或ALT的组合(如果按下了其中任何一个(。
示例:
- 按住CTRL键。
KeyDown
将被提升,KeyCode
将被提升为Keys.ControlKey
,KeyData
将被提升至Keys.ControlKey | Keys.Control
- 在按住CTRL键的同时,按SHIFT键。
KeyDown
将被提升,KeyCode
将被提升为Keys.ShiftKey
,KeyData
将被提升至Keys.ShifKey | Keys.Shift | Keys.Control
注意,KeyData
和KeyCode
可以包含Keys
枚举中的任何值(例如Keys.A
、Keys.NumPad4
或Keys.Up
(。请注意,当按下其中一个修改器键时,它由KeyData
中的两个值表示(一个用于它们键,一个用于修改器值(。修改器也可通过Modifiers
属性使用。
KeyValue
将返回一个表示密钥的数值,本质上是一个表示在KeyCode
中找到的值的整数。