我一直试图让这个工作起作用,但它正在努力,想知道你的专家是否可以帮助我。
在我的表单上,当我按下键盘上的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
答案 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