在textBox1的相应事件中设置
this.ActiveControl=this.textBox2;

解决方案 »

  1.   

    找到它的父控件,一般来说,可以是Panel,你没有用Panel的话,这样:Control form = Page.Controls[0];Control nextCtrl = form.Controls[ form.Controls.IndexOf( TextBox1 )+1 ];//上面的代码没有判断是否form.Controls.IndexOf( TextBox1 )+1是否已经超过父控件的控件个数了,你可以自己判断
      

  2.   

    如何是WinForm的,可以这样。
    把TabIndex设置一下,发一个Tab出去,就到下一个textbox了。 
    如何不能调,就遍历Controls数值,顺着tabindex向下跑,判断是否is textbox.protected  override  bool  ProcessDialogKey(System.Windows.Forms.Keys    aKey)  
    {  
    if  (aKey  ==  Keys.Enter && this.ActiveControl is TextBox)  
    {  
     
    SendKeys.Send(  "{TAB}  ");  
    return  true;  
     
    }  
    base.ProcessDialogKey(aKey);  
    return  false;  
    }
      

  3.   

    同意楼上的,用SendKeys.Send,多好的东东,获取下一个控件的方法this.ActiveControl.GetNextControl()
      

  4.   

    算了,看来是解决不了了,我用下面的笨办法解决了(winform),首先获得当前控件的tabindex值,然后用foreach遍历控件,如果其他tabindex值大1就是要找的了。
      

  5.   

    另外,用form.Controls.IndexOf( TextBox1 )+1得到的控件和tabindex没有直接关系,我经过测试发现,它是按拖放控件的逆顺序排列的,也就是说,如果没有修改tabindex的值,该方法获得的控件刚好是反的顺序,如果tabindex值在设计时调整过,该方法不会变,仍然是设计时添加控件的逆序值。