从密钥数据中提取密钥代码
本文关键字:密钥 代码 提取 数据 | 更新日期: 2023-09-27 18:31:25
如何从System.Windows.Forms.Keys
值中提取KeyCode标志(不带修饰符的System.Windows.Forms.Keys
值)本身?
假设Keys
有标志Keys.Control
、Keys.Shift
和Keys.A
。我想提取Keys.A
标志,但Keys
的标志(包括修饰符)是可变的。
密钥枚举已经有一个掩码,它的名字不会让你感到惊讶:
Keys code = keyData & Keys.KeyCode;
它的基础值是0xffff,有效地屏蔽了修饰符状态位。 类似的掩码值可用于隔离修饰符位,它是 Keys.Modifiers (0xffff0000)。
我认为这就是你想要的:
Keys excludeModifier = yourKey & ~Keys.Control & ~Keys.Shift & ~Keys.Alt;