我有一个像这样的组合键
Keys key=Keys.Control | Keys.Shift | Keys.D ...
我不知道如何将键变量扩展为分离的Keys值.也许是这样的
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.要获得未移位的密钥,请使用
Keys value = key & Keys.KeyCode
要确定是否按下了shift,alt或control
bool altValue = key & Keys.Alt bool controlValue = key & Keys.Control bool shiftValue = key & Keys.Shift
就是这样