Private Sub Combo1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
    MsgBox KeyCode
    If KeyCode = 38 Then aaaagq_ReCall
    If KeyCode = 40 Then SendKeys "{TAB}"
End Sub没有获得上下,请问如何解决?谢谢大家
form.keypreview 设置为true

解决方案 »

  1.   

    Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
        MsgBox KeyCode
        If KeyCode = 38 Then MsgBox "上"
        If KeyCode = 40 Then MsgBox "下"
    End Sub在我的机器上很好啊,捕捉到了
      

  2.   

    你为什么要把form.keypreview设为true呢,设为false不就没问题了
      

  3.   

    '用下面的代码试一试,注意你的Index值:
    Private Sub Combo1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
        If KeyCode = 38 Then MsgBox "上"
        If KeyCode = 40 Then MsgBox "下"
    End Sub
      

  4.   

    又努力了一下 发现form.keypreview设为true没关系,我设置了
    Combo1(0).Locked = True 如果是false就没问题了。但是这里的true是我必须的,这个问题该如何解决阿?谢谢大家。
      

  5.   

    'Combo1.Locked=True,锁定输入数据
    Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
        Combo1.Locked = False
    End Sub
    Private Sub Combo1_KeyUp(KeyCode As Integer, Shift As Integer)
        If KeyCode = 38 Then MsgBox "上"
        If KeyCode = 40 Then MsgBox "下"
        Combo1.Locked = True
    End Sub