Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        KeyAscii = 0
        SendKeys "{TAB}"
    End If
    If KeyAscii = 32 Then
        KeyAscii = 0
    End If
End Sub在界面上有一个text控件,当我按回车时转换成TAB键,焦点往下移,但不知道为什么,焦点却一点都不动,我跟了一遍程序,发现程序运行到了SendKeys "{TAB}",但Text1控件却没有失去焦点的事件发生,后来我直接按tab键也没有效果,焦点就是不移动,请问有没有哪位大侠遇到过这样的问题,就是tab键好象失效了似的,但我只单单写一个程序专门试验这个TAB健是否有效的时候又总是没有问题,真是苦恼,不知道什么情况会有这样的问题出现?
还有在我的程序中有一时间控件,当加载窗口先把焦点设在时间控件上时,tab键就好使,能够移到焦点,而加载到别的控件上先,就不行。
请各位高手指点!!

解决方案 »

  1.   

    当控件的TabStop属性为 False时会发生这种情况
      

  2.   

    谢谢各位老大指点,我看过tabstop的属性,都是true的,龙飞兄的方法我也试了一下,不过也没有用。
    我又发现了一个情况,就是当那个窗口是show出来的时候,我敲回车时,主窗口就跳去来,这个窗口就隐到后面,而当我是show 1来显示这个窗口的时候,就出现了上面所说的那种情况。
    请各位老大再给点指示,感激不尽
      

  3.   

    将窗体的keypreview设置成true再试试
      

  4.   

    还是不行啊,不过现在证实了一点,就是show显示的时候没有问题,但show 1显示时,tab就没有响应。这是什么原因呢?
      

  5.   

    新建一个工程,放上两个textbox控件,将你的代码拷贝过去,没做任何改动,运行的结果是在textbox1控件接受键盘输入的情况下,按回车,textbox2控件将获得焦点。没有你说的现象发生。
    出现你那种情况的原因可能1、操作系统问题。2、vb本身的问题,包括是否打了sp6补丁
      

  6.   

    看看程序中这个控件有没有用.setfocus语句.
    -------------------------------------------
    菜鸟也搜索 http://www.abcooo.com
      

  7.   

    //还是不行啊,不过现在证实了一点,就是show显示的时候没有问题,但show 1显示时,tab就没有响应。这是什么原因呢?呵呵,模式窗体:
    比如在form1中:
    form2.show 1如果你的form1按tab没有响应,这是应该的,如果你的form2中按tab没有响应,这是反常的
      

  8.   

    说实话, 在WIN2K下用SENDKEYS  容易出异常问题我有个程序在WIN98下开发的 ,挺正常  到了2K下就经常死掉,  不 知道什么原因你其实用 
    Private Sub Text1_KeyPress(KeyAscii As Integer)
        If KeyAscii = 13 Then
              KeyAscii = 0
              Text2.SelStart = 0
               Text2.SelLength = Len(Text1)
              Text2.SetFocus
        End If
        If KeyAscii = 32 Then
            KeyAscii = 0
        End If
    End Sub
      

  9.   

    直接使用SETFOCUE方法将焦点放到下一个控件就是了,没有必要将精力放在这个问题上。
      

  10.   

    谢谢各位老大的指点,用setfocus确实好用,不过这个问题我觉得是不是还值得探讨一下,我发现好象实际情况是这样的,先有一个MDIFORM,然后form1是子窗口,form2是弹出窗口,我先开启了MDIFORM和form1,然后从MDIFORM的菜单上弹出form2,用show的时候呢,我form2上的一个text中我写了上面的代码,然后按回车,我发现form2就隐到后面,而form1显示到前面,同时有一个光标移动,也就是说tab在form1上起作用了.而后我用show 1的时候,tab就不起作用了。不知是否还有别人碰见过这种问题?
      

  11.   

    同时我还发现从form1窗口中form2.show 1的时候,在form2中的keyup事件好象也是对应于form1的,请问这是不是正常的?
      

  12.   

    估计是你的别的代码有问题,按你的方法做了,没问题,你还是Setfocus方法吧。