也就是要捕捉TAB键后,再把回车键的值给TAB键。这样,按TAB键就等于按了回车键!

解决方案 »

  1.   

    你在窗体中这样写
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
        If KeyCode = vbKeyTab Then
            SendKeys "{ENTER}"
        End If
    End SubPrivate Sub Form_Load()
        Me.KeyPreview = True
    End Sub
      

  2.   

    这样你按TAB时,等于按了TAB又按了回车
      

  3.   

    Private Sub Form_KeyPress(KeyAscii As Integer)
        if KeyAscii = vbKeyTab then
            KeyAscii = vbKeyEnter
        End if
    End SubPrivate Sub Form_Load()
        Me.KeyPreview = True
    End Sub
    你可以在窗体上放一个MultiLine=True的文本框,然后按TAB,文本框中是回车的效果。有个问题就是如果窗体上存在其他控件而且这些控件TabStop=True,那这个TAB键就算捕捉了也不能实现类似功能了,此时需要实现什么功能就写什么代码即可。譬如:if Keyascii = 9 then
              text1.Text = text1.text & vbcrlf
          end if
      

  4.   

    大狂朋友的代码KeyAscii = vbKeyEnter应该为KeyAscii = vbKeyReturn
    如果以上两位朋友的代码满足不了楼主的要求,那就用键盘钩子。
      

  5.   

    用API截取这个按键就可以了。没有必要用钩子。
      

  6.   

    当然。你用API截取的时候必须确保你的程序处于激活状态。
      

  7.   

    说错就是说。你检测到TAB按下的同时要检测你的窗体是不是处于激活状态,如果处于激活状态那么可以利用API发送回车键,否则不予执行。
      

  8.   

    Private Sub Form_KeyPress(KeyAscii As Integer)
        if KeyAscii = vbKeyTab then
            KeyAscii = vbKeyEnter
        End if
    End SubPrivate Sub Form_Load()
        Me.KeyPreview = True
    End Sub
    这样的代码不行。
    你检测到TAB按下的同时要检测你的窗体是不是处于激活状态,如果处于激活状态那么可以利用API发送回车键,否则不予执行。
    这个思路我想应该是对的。我想问一下具体是怎样实现的用什么api?贺兰石能不能用代码指点一下,谢谢!
      

  9.   

    那你干脆注册一个热键得了 
    晕死
    那需要这么麻烦
    你这样tab的正常功能都没有了
    变成以按就激活你的窗口然后回车了
    不影响正常使用吗?
      

  10.   

    越说越复杂了,估计楼主的头大了吧?
    二楼的方法就可以实现了!
    但前提是一定是将Form的KeyPreview属性设置成Ture