在控件中可以在KeyPress中加入
If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If
按回车后就可以把焦点变更到下一个控件上。那我想按键盘中的向上键(UP ARROW 键),把焦点变更到当前控件的上一个控件上(即TabIndex-1),请问怎么写?请赐教!

解决方案 »

  1.   

    Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)
        If KeyCode = 38 Then
            SendKeys "+{Tab}"
        End If
    End Sub
      

  2.   

    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
        PreTab KeyCode, Shift
    End Sub
    Private Sub PreTab(s1 As Integer)
         If s1 = 13 Then
            SendKeys "+{Tab}"
        End If
    End Sub
    ''''''''''''''''''
    Key
     Code
      
    BACKSPACE
     {backspace} or {bs} or {bksp}
     
    BREAK
     {break}
     
    CAPS LOCK
     {capslock}
     
    CLEAR
     {clear}
     
    DEL
     {delete} or {del}
     
    DOWN ARROW
     {down}
     
    END
     {end}
     
    HELP
     {help}
     
    HOME
     {home}
     
    INS
     {insert}
     
    LEFT ARROW
     {left}
     
    NUM LOCK
     {numlock}
     
    PAGE DOWN
     {pgdn}
     
    PAGE UP
     {pgup}
     
    RIGHT ARROW
     {right}
     
    UP ARROW
     {up}
     
    F1, F2, F3,¼F16
     {F1}, {F2}, {F3},¼{F16}
     To combine with
     Precede the key code by
      
    SHIFT
     + (plus sign)
     
    ALT (Windows) or
    COMMAND (Macintosh)
     % (percent sign)
     
    CTRL (Windows) or
    CONTROL (Macintosh)
     ^ (caret)
     
    OPTION (Macintosh)
     # (pound sign)
     ''''''''''''''''''
      

  3.   

    Private Sub Text2_KeyUp(index as integer,KeyCode As Integer, Shift As Integer)
        If KeyCode = 38 index<>0 Then
           text2(index-1).setfocs
        End If
    End Sub
      

  4.   

    Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)
        If KeyCode = 38 Then
            SendKeys "+{Tab}"
        End If
    End Sub我试过了,不好用!!!!!!!不信你们自己随便搞个测试
      

  5.   

    'KeyDown事件
    Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
        If KeyCode = 38 Then
            SendKeys "+{Tab}"
        End If
    End Sub
      

  6.   

    那就強行寫好了.比如 text1再text2的上面,text3在text2的下一個焦點
    Option ExplicitPrivate Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
     Select Case KeyCode
       Case 38
        Text1.SetFocus
       Case 13
        Text3.SetFocus
        
     End Select
    End Sub
      

  7.   

    leolan(史留香),你说的对!应该是KeyDown事件。其实这段代码我也写的出,现在问题是放在哪的问题!为什么放在KeyUp、KeyPress里就没有效果呢?KeyUp、KeyPress、KeyDown三者有什么区别?(可以根据结合我的问题谈谈)