【发布时间】:2014-01-13 19:32:43
【问题描述】:
选择按键组合的“正确/最佳”方式是什么?有问题的键是 Ctrl+Alt+Q,我希望用户同时按下它们,此时我要去开一扇窗。我目前正在通过有一个数组然后单独捕获每个击键来做到这一点,但我的结果不一致,尤其是在特定品牌的戴尔笔记本电脑/Windows 7 组合上,但这是另一回事。
所以在用谷歌花了五分钟之后,这只是查看 msdn 后的一个粗略版本,但正如我之前所说,这个版本(未经测试)是正确/最好的方法吗?
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
const int WM_KEYDOWN = 0x100;
const int WM_SYSKEYDOWN = 0x104;
if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
{
switch(keyData)
{
case Keys.Control | Keys.Alt | Keys.Q:
this.Parent.Text="<CTRL> + Alt + Q Captured";
break;
}
}
return base.ProcessCmdKey(ref msg,keyData);
}
【问题讨论】: