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

时间:2016-05-21 07:52:24

标签: vb.net keydown

KeyDown事件不起作用,按下表单不会关闭转义

[ ( ns:a ) , ( ns:m ) ]

1 个答案:

答案 0 :(得分:1)

嗯,确定它有效,事件不是很想解雇。击键用焦点引发控件上的KeyDown事件。只有当它没有可以获得焦点的控件时,这才会成为你的形式。一个相当不可能的场景。

如果您已经有一个标有“取消”的按钮关闭表单,请设置表单CancelButton property

如果你没有这样的按钮,那么用户很可能不会自己弄清楚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