KeyDown事件键不工作-VB.net
KeyDown事件不起作用,按escape无法关闭窗体KeyDown事件键不工作-VB.net,vb.net,keydown,Vb.net,Keydown,KeyDown事件不起作用,按escape无法关闭窗体 Private Sub DataTable_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown If e.KeyCode = Keys.Escape Then Me.Close() End If End Sub 好吧,当然它是有效的,这项活动不太像火灾。击键会在具有焦点的控件上引发KeyDown事件。只有当窗体没有可以获得焦
Private Sub DataTable_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Escape Then
Me.Close()
End If
End Sub
好吧,当然它是有效的,这项活动不太像火灾。击键会在具有焦点的控件上引发KeyDown事件。只有当窗体没有可以获得焦点的控件时,它才会成为窗体。一个相当不可能的情景 如果已经有一个标记为“取消”的按钮关闭表单,请设置表单的名称 如果你没有这样一个按钮,那么用户很难自己发现转义键是有用的。他很可能会使用右上角的关闭按钮。不过,您可以通过重写ProcessCmdKey()方法使其工作。像这样:
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
If keyData = Keys.Escape Then
Me.Close()
Return True
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
他没有考虑到这一点,谢谢你的帮助,它起了作用。