我有一个像这样的组合键
Keys key=Keys.Control | Keys.Shift | Keys.D ...
Run Code Online (Sandbox Code Playgroud)
我不知道如何将键变量扩展为分离的Keys值.也许是这样的
foreach(Keys k in key)
{
MessageBox.Show(k.ToString());
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎很愚蠢.这该怎么做?
请参阅密钥的定义.除以下内容外,所有值均作为正常的互斥值:
// 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,
Run Code Online (Sandbox Code Playgroud)
所以你需要检查的是alt,control和shift.要获得未移位的密钥,请使用
Keys value = key & Keys.KeyCode
Run Code Online (Sandbox Code Playgroud)
要确定是否按下了shift,alt或control
bool altValue = key & Keys.Alt
bool controlValue = key & Keys.Control
bool shiftValue = key & Keys.Shift
Run Code Online (Sandbox Code Playgroud)
就是这样
| 归档时间: |
|
| 查看次数: |
661 次 |
| 最近记录: |