.NET WinForms关键事件参数对象上的KeyCode和KeyData属性之间有什么区别?
两个键事件参数类.NET WinForms关键事件参数对象上的KeyCode和KeyData属性之间有什么区别?,.net,winforms,events,event-handling,.net,Winforms,Events,Event Handling,两个键事件参数类KeyEventArgs和PreviewKeyDownEventArgs都有两个属性,KeyCode和KeyData,它们都是枚举类型的键 这两个属性之间有什么区别?它们中的值是否存在差异?如果是,何时以及为什么?KeyCode是一个枚举,表示键盘上所有可能的键KeyData是与修饰符(Ctrl、Alt和/或Shift)组合的KeyCode 当您不关心修饰符时使用KeyCode,当您关心修饰符时使用KeyData 我观察到的区别是,KeyCode中的值仅包含触发当前事件触发的键的
KeyEventArgs
和PreviewKeyDownEventArgs
都有两个属性,KeyCode
和KeyData
,它们都是枚举类型的键
这两个属性之间有什么区别?它们中的值是否存在差异?如果是,何时以及为什么?
KeyCode
是一个枚举,表示键盘上所有可能的键KeyData
是与修饰符(Ctrl、Alt和/或Shift)组合的KeyCode
当您不关心修饰符时使用
KeyCode
,当您关心修饰符时使用KeyData
我观察到的区别是,KeyCode
中的值仅包含触发当前事件触发的键的Keys
枚举值<另一方面,code>KeyData将包含KeyCode
中值的逻辑OR,并带有当时保持的任何修改键(CTRL、SHIFT、ALT等)