繁体   English   中英

KeyDown事件键不起作用-VB.net

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM