Kis*_*mar 4 .net vb.net textbox visual-studio-2010
我有一个有近20个Textbox和5个Combobox的表单和一个依赖于另一个的控件,现在我想以这样的方式编写表单的代码,Pressing EnterKey和TabKey应该具有相同的功能.
就像按下Tab按键时,当我按下Enter按键时,也应该执行焦点移动到下一个控制.类似地,当我按下Enter键时,在按键事件中写入了一些过程代码,但是当我按下Tab键时也应该执行此操作.
小智 10
首先使表单的Keypreview属性= True然后在表单的Keydown事件中粘贴下面的代码
If e.KeyCode = Keys.Enter Then
Me.SelectNextControl(Me.ActiveControl, True, True, True, False) 'for Select Next Control
End If
Run Code Online (Sandbox Code Playgroud)
我在Winforms中完成它的SelectNextControl方法是使用Method.
即
Private Sub TextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim tb As TextBox
tb = CType(sender, TextBox)
If Char.IsControl(e.KeyChar) Then
If e.KeyChar.Equals(Chr(Keys.Return)) Then
Me.SelectNextControl(tb, True, True, False, True)
e.Handled = True
End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
如果您使用的是WPF,则可以使用 TraversalRequest
即
Private Sub TextBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Input.KeyEventArgs)
Dim tb As TextBox
tb = CType(sender, TextBox)
If e.Key = Key.Return Then
tb.MoveFocus(New TraversalRequest(FocusNavigationDirection.Next))
ElseIf e.Key = Key.Tab Then
Exit Sub
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
截取Tab密钥,请看看这个Stackoverflow问题.
| 归档时间: |
|
| 查看次数: |
28853 次 |
| 最近记录: |