按下还是按住还是按键后触发?这三个监听的事件是不一样的,如果是按下或按住触发你可能要通过Windows API 拦截窗口message来做了。如果是按键过程完成后(按下->按住->松开整个过程完成后)拦截keypress事件应该可以通过e.keycode判断出来。 很久没做过窗体这些事件的拦截了,也许我说的全是错的也说不定。
给窗体添加一个按键事件 判断是不是按下了Ctrl键
注册窗体KeyUp事件,就是按键按下松开后触发的事件 在事件内写判断语句: if (e.Key == Key.LeftCtrl || e.Key == Key.RightCtrl)
很久没做过窗体这些事件的拦截了,也许我说的全是错的也说不定。
判断是不是按下了Ctrl键
在事件内写判断语句:
if (e.Key == Key.LeftCtrl || e.Key == Key.RightCtrl)
你要override 窗体的ProcessCmdKey看看
{
if (keyData == (Keys.Control | Keys.C))
{
//你的代码
return true;
}
else
return base.ProcessCmdKey(ref msg, keyData);
}