VB.net - 检测是否有人点击“f5”

时间:2013-11-22 12:29:50

标签: vb.net

我正在尝试创建一个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方法。

我只能有一个答案......但不管怎样,谢谢!上一次没有走远。

我之前问过这个......但是“某种程度上”人们并不理解这个非常基本的问题。

2 个答案:

答案 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