按下F1时,将焦点设置为文本框

时间:2014-06-12 14:32:49

标签: vb.net

我一直试图让这个工作起作用,但它正在努力,想知道你的专家是否可以帮助我。

在我的表单上,当我按下键盘上的F1时,我想将焦点设置为TextBox,我已经编写了代码,但是当我按下F1时它不起作用。我究竟做错了什么?我还将keypreview设置为true。

这里的代码:

 Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
        If e.KeyData = Keys.F1 Then
            txtemployeeno.Focus() 
        End If
End Sub

1 个答案:

答案 0 :(得分:2)

问题是你的KeyUp事件没有被触发,因为表单在技术上没有输入焦点(虽然它可能被激活)。如果您希望使用KeyPreview属性,则需要使用KeyPress事件而不是KeyUp

或者,您可以始终覆盖ProcessCmdKey功能。只需将以下方法添加到表单的代码中:

   Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
      If keyData = Keys.F1 Then
         txtemployeeno.Focus()
         Return True
      End If

   Return MyBase.ProcessCmdKey(msg, keyData)
   End Function