我正在尝试创建一个Visual Basic程序,如果你单击F5我想要它,程序的当前表单刷新。
我大多只需要编码来检测是否有人点击了“F5”键
我在下面尝试过,但任何键都会刷新它。
Private Sub LoginBox_KeyDown(sender As Object, e As EventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.F5 Then
Me.Close
Loginbox.show
Else
'Do nothing
End If
End Sub
编辑:John Koerner和Nadeem_MK都有正确的答案。
我使用Nadeem作为sub,然后使用John Koerner的Closing方法。
我只能有一个答案......但不管怎样,谢谢!上一次没有走远。
我之前问过这个......但是“某种程度上”人们并不理解这个非常基本的问题。
答案 0 :(得分:2)
我刚刚在VS2008中测试了它,在我看来KeyPress,Keydown和KeyUp的Form事件不会在按下按钮时触发。
为此,你需要放{{1} }在FormLoad()上然后继续;
Me.KeyPreview = True
答案 1 :(得分:2)
为了捕捉某些按键,您需要设置KeyPreview = True。此外,如果这是您的应用中打开的唯一表单并关闭它,那么当您调用Me.Close()时,您的应用将完全关闭,因此您需要在关闭旧表单之前显示新表单。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.F5 Then
Me.Hide()
Dim f As New Form1
f.ShowDialog()
Me.Close()
End If
End Sub