再winform中使用ProcessCmdKey处理快捷键响应,针对单一快捷键响应没有任何问题。可是针对组合键老是没法响应,以下:ide
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, Keys keyData)
{
if (keyData == (Keys.Control|Keys.C ))
{
MessageBox.Show("Ctrl+C");
return true;
}
return false;
}orm
找了很多解释,也没找到缘由。form
后来在StackOverflow上看到一我的说把顺序调换一下,亦即:快捷键
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, Keys keyData)
{
if (keyData == (Keys.C|Keys.Control))
{
MessageBox.Show("Ctrl+C");
return true;
}
return false;
}winform
就能够正常响应。return
记录一下,但愿其余人别踩坑了。