我在窗口上放了一个TableControl控件,里面有两个页面,我在第一个页面中放了几个GroupBox,和一个文本框(TextBox1),该文本框在GroupBox1中,当前键盘光标在TextBox上,我按TAB键,光标跳到下一控件,一切正常,我希望用程序移动到下一控件上,原来的做法是用SendKeys.Send("{TAB}"),这点也是没有问题的,现在我想用GetNextControl方法得到下一控件,然后用调用下一控件的foucs()方法,我用TextBox1.GetNextControl(TextBox1,true)得到的为null,我再用this.GetNextControl(TextBox1,true),得到的是TabControl的下一个页面,达不到按TAB键的效果,正确的应该是如何使用该方法?

解决方案 »

  1.   

    现看了一下 MSDN,按照我的理解,第一个参数应该为调用者的子控件。
    Retrieves the next control forward or back in the tab order of child controls. 
    这解释了为什么第一种方法(TextBox1.GetNextControl(TextBox1, true);)得到空。
    但第二个问题我无法解释,我只发现即使是按键盘上的 TAB 时不会停留的 GroupBox(这家伙也没有 TabStop 属性)也会成为 GetNextControl 的返回值,还是和按键有区别的,建议楼主仔细检查 TabIndex。
      

  2.   

    看来该问题解决不了,仍然只能用Sendkeys,谢谢楼上亲自试验,反正没有人回答,分都给你了