我正在尝试捕捉功能键F1到F12& 4箭头钥匙&主页,插入,删除,结束,Page Up&向下键。如何????
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
}
答案 0 :(得分:1)
重写表单的ProcessCmdKey()方法。在将键盘消息调度到具有焦点的控件之前,它将从消息循环中直接调用。这就是为什么重写WndProc()不起作用。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (keyData == (Keys.Control | Keys.F)) {
MessageBox.Show("What the Ctrl+F?");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
从技术上讲,你也可以使用KeyPreview = true覆盖表单的OnKeyDown方法,但这是一个丑陋的VB6时代错误。