【发布时间】:2014-01-21 17:59:09
【问题描述】:
我想在用户按下 Alt+D 时将焦点设置到控件上。但是,Alt+D 在 keydown 事件处理程序中设置焦点后将焦点设置在菜单条中的第一项上。
按下 Alt 键时将表单 KeyPreview 设置为 True 并将 e.Handled 设置为 true 无效。
对于这个例子,D 是一个任意键——它发生在所有字母键上。
我正在使用 vb.net 2008。
示例代码:
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.Alt And e.KeyCode = Keys.D Then
Button1.Focus()
e.Handled = True
End If
End Sub
示例表单,按下 Alt+D 后。在按下 Alt+D 之前,焦点位于 Button2。
【问题讨论】: