查看: 25  |  回复: 0
  VB6 对于Text1-5方向键左右可以前后,回车向后,Text1-5循环跳,用KeyDown而不是KeyPress获得左右键
楼主
发表于 2024年11月19日 00:08

新建From1(窗体),新建Text1-5(TextBox),代码:

Private objText As TextBox
'键盘的 前后左右 可以控制到某个Text框,回车也可以 Text1_KeyPress无获得ASCII中不可见字符比如键盘左右键

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyLeft: s_GoFront Text5
        Case vbKeyRight: s_GoNext Text2
        Case vbKeyReturn: s_GoNext Text2
    End Select
End Sub

Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyLeft: s_GoFront Text1
        Case vbKeyRight: s_GoNext Text3
        Case vbKeyReturn: s_GoNext Text3
    End Select
End Sub

Private Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyLeft: s_GoFront Text3
        Case vbKeyRight: s_GoNext Text4
        Case vbKeyReturn: s_GoNext Text4
    End Select
End Sub

Private Sub Text4_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyLeft: s_GoFront Text3
        Case vbKeyRight: s_GoNext Text5
        Case vbKeyReturn: s_GoNext Text5
    End Select
End Sub

Private Sub Text5_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyLeft: s_GoFront Text4
        Case vbKeyRight: s_GoNext Text1
        Case vbKeyReturn: s_GoNext Text1
    End Select
End Sub

Private Sub s_GoFront(objText)
    '向前跳,不能破坏数据
    objText.SetFocus
End Sub

Private Sub s_GoNext(objText)
    '向后前跳,全选数据
    objText.SelStart = 0
    objText.SelLength = Len(objText.Text)
    objText.SetFocus
End Sub


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com