[英]KeyDown Event Key Not Work - VB.net
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事件。 只有当它没有可以获取焦点的控件时,它才会成为您的表单。 相当不可能的情况。
如果您已经有一个标记为“取消”的按钮来关闭表单,则设置表单的CancelButton属性 。
如果您没有这样的按钮,那么用户将不太可能自己发现Escape键是有用的。 他很可能会使用右上角的“关闭”按钮。 但是,您可以通过重写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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.