当我按下textbox
键时,我想将焦点设置为特定的ALT+SOME。
然而,当我按快捷键组合时,它会聚焦其他的东西。即使我按了CTRL+P,txtAuthor
也完全没有焦点,而一些奇怪的Button control
或另一个textbox
得到了关注。
我检查过没有重复的键组合。按这里..。
加号:调试确认,例如,当我按Alt+Q时,将执行下面的txtQueue.Focus()
代码。但是,不知怎么的,txtQueue不会集中注意力。
加号:KeyPreview
设置为True
Private Sub frmEdit_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
'Alt+Q
If e.KeyCode = Keys.Q AndAlso e.Modifiers = Keys.Alt Then
txtQueue.Focus()
Exit Sub
End If
'Alt+D
If e.KeyCode = Keys.D AndAlso e.Modifiers = Keys.Alt Then
txtDynamic.Focus()
Exit Sub
End If
'Alt+K
If e.KeyCode = Keys.K AndAlso e.Modifiers = Keys.Alt Then
txtTime.Focus()
Exit Sub
End If
'Alt+P
If e.KeyCode = Keys.P AndAlso e.Modifiers = Keys.Alt Then
txtAlgorithm.Focus()
Exit Sub
End If
End Sub
谢谢!
发布于 2014-03-15 16:40:35
重写ProcessCmdKey()是有效的!
我不知道原因,但是,间歇性的ProcessCmdKey()不能工作,即使我点击了表单,表单中的按钮等等……
https://stackoverflow.com/questions/21993861
复制相似问题