我有这样的组合键
Keys key=Keys.Control | Keys.Shift | Keys.D ...
我不知道如何将键变量扩展为分隔键值。大概是这样
foreach(Keys k in key)
{
MessageBox.Show(k.ToString());
}
我觉得这很愚蠢。如何做到这一点?
参见键的定义。所有值都作为正常的、互斥的值,但以下情况除外:
// The bitmask to extract a key code from a key value.
KeyCode = 65535,
// The SHIFT modifier key.
Shift = 65536,
// The CTRL modifier key.
Control = 131072,
// The ALT modifier key.
Alt = 262144,
因此,您只需检查 alt、control 和 shift。要获取非移位 key ,请使用
Keys value = key & Keys.KeyCode
查看是否按下了 shift、alt 或 control
bool altValue = key & Keys.Alt
bool controlValue = key & Keys.Control
bool shiftValue = key & Keys.Shift
就这样
我是一名优秀的程序员,十分优秀!