按下Escape键时关闭VB.NET表单

why*_*heq 13 vb.net visual-studio-express

我正在使用VB 2010 Express.

C#我将设置表单CancelButton属性.

对于这个VB形式我没有CancelButton所以我怀疑我需要编程KeyPress或者KeyDown.

  1. 这两个事件有什么区别?
  2. 我应该使用哪个?
  3. 我假设这个的一般代码如下?:

    If e.KeyCode = Keys.Escape Then
        Close()
    End If
    
    Run Code Online (Sandbox Code Playgroud)

我有一定的.Focus那么形式就变得毫无意义把这个主要形式事件过程中为主要形式从来没有真正的其他控件中的代码具有焦点.

pat*_*hoi 32

将表单keydown设置为

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
    If e.KeyCode = Keys.Escape Then Me.Close()
End Sub
Run Code Online (Sandbox Code Playgroud)

然后,请记住将表单上的KeyPreview属性设置为TRUE.