按Escape键时关闭VB.NET窗体
我正在使用VB 2010 Express 在按Escape键时关闭VB.NET窗体,vb.net,visual-studio-express,Vb.net,Visual Studio Express,我正在使用VB 2010 Express 在C#中,我将设置表单CancelButton属性 对于这个VB表单,我没有取消按钮,因此我怀疑我需要编写KeyPress或KeyDown 这两件事有什么不同 我应该用哪一种 我假设这方面的一般代码如下所示: If e.KeyCode = Keys.Escape Then Close() End If 我在表单的其他控件中有某些。Focus代码,然后将其放入主表单事件过程中变得毫无意义,因为主表单从来没有真正的焦点。将表单键设置为 Priva
C#
中,我将设置表单CancelButton
属性
对于这个VB表单,我没有取消按钮,因此我怀疑我需要编写KeyPress
或KeyDown
If e.KeyCode = Keys.Escape Then
Close()
End If
我在表单的其他控件中有某些
。Focus
代码,然后将其放入主表单事件过程中变得毫无意义,因为主表单从来没有真正的焦点。将表单键设置为
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
然后,记得将表单上的KeyPreview属性设置为TRUE。表单的“KeyPreview”属性必须设置为TRUE,否则将不起作用
我的解决方案的格式还包括属性:
- 将CancelButton属性设置为执行取消功能的按钮
KeyPress
和KeyDown
之间的区别感到好奇,因为“KeyPress事件不是由非字符键引发的;但是,非字符键确实会引发KeyDown和keydup事件。”,不同的行为,例如A
和SHIFT