c#ProcessCmdKey重载,匹配泛型组合

时间:2010-03-12 14:46:41

标签: c#

在某些控件上,如果用户按下的键是ALT和任何字母表,我希望ProcessCmdKey返回true。

如果用户使用以下代码按下Alt,我可以返回true,但是如何添加按下的字母的条件呢?

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
             if ((keyData & Keys.Alt) != 0) {
                  return true;
             }
}

感谢。

2 个答案:

答案 0 :(得分:4)


if ((keyData & Keys.Alt) != 0 && (keyData & Keys.KeyCode) >= Keys.A && (keyData & Keys.KeyCode) <= Keys.Z)

答案 1 :(得分:0)

xor应该工作:

 if ((keyData & Keys.Alt) == Keys.Alt & (keyData ^ Keys.Alt) != 0) {
      return true;
 }