【问题标题】:What is the difference between the KeyCode and KeyData properties on the .NET WinForms key event argument objects?.NET WinForms 键事件参数对象上的 KeyCode 和 KeyData 属性有什么区别?
【发布时间】:2010-09-24 00:10:24
【问题描述】:

KeyEventArgsPreviewKeyDownEventArgs这两个键事件参数类各有两个属性KeyCodeKeyData,都是枚举类型Keys。

这两个属性有什么区别?它们中的值是否彼此不同?如果是,何时以及为什么?

【问题讨论】:

    标签: .net winforms events event-handling


    【解决方案1】:

    KeyCode 是一个枚举,表示键盘上所有可能的键。 KeyDataKeyCode 与修饰符(Ctrl、Alt 和/或 Shift)的组合。

    当你不关心修饰符时使用KeyCode,当你关心时使用KeyData

    【讨论】:

      【解决方案2】:

      我观察到的不同之处在于KeyCode 中的值仅包含触发当前事件触发的键的Keys 枚举值。另一方面,KeyData 将包含 KeyCode 中的值与当时持有的任何修饰键(CTRL、SHIFT、ALT 等)的逻辑 OR。

      【讨论】:

        猜你喜欢
        • 2016-10-27
        • 2014-10-07
        • 2019-05-26
        • 1970-01-01
        • 2010-09-24
        • 2023-03-12
        • 2012-06-20
        • 1970-01-01
        相关资源
        最近更新 更多