C# Windows 窗体:如何捕获 Capture 函数、箭头和箭头导航键
我正在尝试捕获功能键 F1 到 F12 & 4 个方向键和首页、插入、删除、结束、向上翻页和向下键。怎么办????
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
}
i am trying to capture Function keys F1 to F12 & 4 Arrow Keys & Home, Insert, Delete, End, Page Up & Down Keys. How To ????
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
重写表单的 ProcessCmdKey() 方法。在将键盘消息分派到具有焦点的控件之前,它会直接从消息循环中调用。这就是为什么重写 WndProc() 不起作用的原因。
从技术上讲,您还可以使用 KeyPreview = true 覆盖表单的 OnKeyDown 方法,但这是一个丑陋的 VB6 不合时宜的做法。
Override the ProcessCmdKey() method of the form. It gets called straight from the message loop, before the keyboard message is dispatched to the control with the focus. Which is why overriding WndProc() doesn't work.
Technically, you can also override the form's OnKeyDown method with KeyPreview = true, but that's an ugly VB6 anachronism.