KeyDown事件不起作用,按下表单不会关闭转义
[ ( ns:a ) , ( ns:m ) ]
答案 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