vb.net 方向键不能触发 keydown 事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net 方向键不能触发 keydown 事件相关的知识,希望对你有一定的参考价值。

某些键,如 Tab、Return、Esc 和箭头键,由控件自动处理。所以当你的窗体添加了其它控件如按钮,checkbox等,form的keydown事件就触发不了,为使这些键引发窗体的KeyDown事件,你需要重写form.ProcessDialogKey函数,这个函数可以在消息预处理期间 处理对话字符,例如TAB、RETURN、ESCAPE和箭头键等,以下是我重写了这个事件来处理方向键,你需要把它放到你的代码里:
Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean

If keyData = Keys.Left Or keyData = Keys.Right Or keyData = Keys.Up Or keyData = Keys.Down Then
Return False'如果是方向键返回FALSE,意思是继续执行form的keydown事件.

Else
Return MyBase.ProcessDialogKey(keyData)

End If

End Function
参考技术A ,form的keydown事件就触发不了,为使这些键引发窗体的KeyDown事件

以上是关于vb.net 方向键不能触发 keydown 事件的主要内容,如果未能解决你的问题,请参考以下文章

如何从 WPF 页面触发 KeyDown 事件

为啥我不能在 td >p 元素上添加“keydown”事件?

如何用js或jquery实现点击事件触发键盘

jQuery插件不触发更正keydown或空闲事件

VB.NET中Form窗体运行时,按F1进入全屏状态

JQuery——键盘事件.keydown().keyup()和.keypress()