在某些控件上,如果用户按下的键是ALT和任何字母表,我希望ProcessCmdKey返回true。
如果用户使用以下代码按下Alt,我可以返回true,但是如何添加按下的字母的条件呢?
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if ((keyData & Keys.Alt) != 0) {
return true;
}
}
感谢。
答案 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;
}