我正在尝试测试是否按下了 Alt 键。
我有一张类似于以下的支票:
private void ProcessCmdKey(Keys keyData)
{
if (keyData == Keys.Alt)
{
System.Console.WriteLine ("Alt Key Pressed");
}
}
无论如何,不用说,当我按下 Alt 键时断点时,调试器告诉我按下的键实际上是 Keys.RButton |键.Shift键|按键.Alt
任何人都可以阐明正在发生的事情,或者向我指出一篇可以解释的文章吗?
谢谢
弗兹
编辑:
我仍然有点不明白为什么 ENUM 会设置其他位值而不仅仅是 Alt 键?我知道枚举可以包含超过 1 个带有标志 attrivbute 的状态,但我不确定如果我按下的只是 Alt,为什么会这样?
如果你想测试是否Alt
is part对按下的按键,可以进行按位测试;
if((keyData & Keys.Alt) == Keys.Alt) {...}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)