vb中如何按一下enter键使下一个text控件获得焦点
4个回答
展开全部
=========================================================================
TAB键的话你可以通过设置TEXT控件的TabIndex属性来控制。
例如文本框1的TabIndex是0,文本框2的TabIndex是1,文本框3的TabIndex是3。这样按tab键的时候就会在三个文本框之间切换。
至于回车键的话,只能在每个文本框的keypress里面添加代码来实现:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text3.SetFocus
End If
End Sub
……
展开全部
可以建立一个text的控件数组,在text的keypress事件里面,检测是否输入回车键,是则使当前text控件失去焦点,则可使下一个text获得焦点,前提是设置好tabindex啦.
或者:
TabIndex依次排列 然后
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
或者:
TabIndex依次排列 然后
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
无须代码,只要控件按顺序摆放按Tab键即可!至于回车键 我告诉你那是没事找事干。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Text_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
If Index = 7 Then Index = -1 '因为循环不能超过控件的总数量
Text(Index + 1).SetFocus
End If
End Sub
上面代码是 8个text框 之间循环 使用了控件数组 数组从0 to 7 实测好用
If KeyAscii = 13 Then
If Index = 7 Then Index = -1 '因为循环不能超过控件的总数量
Text(Index + 1).SetFocus
End If
End Sub
上面代码是 8个text框 之间循环 使用了控件数组 数组从0 to 7 实测好用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询