主窗体 调用 次窗体  次窗体执行完了  返回主窗体时 怎么 控制住窗体上面 控件的焦点 ?
假如说 主窗体 上有 两个 textbox  Tab顺序为 1, 2!  就是说 次窗体返回时 焦点在第二个 上面不再第一个上面 ?(默认的 在第一个上面)
如果控制时  这种情况是在 主窗体控制  还是在此窗体控制?
大家帮忙!

解决方案 »

  1.   

    在主窗体调用次窗体的地方用如下代码
         Form2 frm = new Form2();
         frm.ShowDialog();
         this.textBox2.Focus();
      

  2.   

    子窗体设置一个属性来保存激发子窗体的主窗体的控件ID,关闭子窗体后,将主窗体焦点放在该控件ID上
      

  3.   

    如果是模式的就是
    Form2 frm = new Form2(); 
    frm.ShowDialog(); 
    this.textBox2.Focus();
    要是非模式的,可以
     public frmMain _mainform;        /// <summary>
            /// 主窗体
            /// </summary>
            public frmMain MainForm
            {
                set { _mainform = value; }
                get { return _mainform; }
            }        
    //加一个带参数的构造函数
            public Form1(frmMain main):this()
            {
                this._mainform = main; 
            }然后把主窗体的控件设置为成public 或者加一个公共方法设计该控件的获得焦点然后在from1关闭时的事件中调用            this.Close();
                MainForm.Focus();
                MainForm.textBox1.Focus();
    //或者调用公共方法,设置焦点
      

  4.   

    主窗体控制吧,就在你的次窗体关闭了以后将焦点给你的第二个Textbox
      

  5.   

    如果是模式的就是 
    Form2 frm = new Form2(); 
    frm.ShowDialog(); 
    this.textBox2.Focus(); 
    要是非模式的,可以 
    public frmMain _mainform;         /// <summary> 
            /// 主窗体 
            /// </summary> 
            public frmMain MainForm 
            { 
                set { _mainform = value; } 
                get { return _mainform; } 
            }         
    //加一个带参数的构造函数 
            public Form1(frmMain main):this() 
            { 
                this._mainform = main; 
            } 然后把主窗体的控件设置为成public 或者加一个公共方法设计该控件的获得焦点 然后在from1关闭时的事件中调用             this.Close(); 
                MainForm.Focus(); 
                MainForm.textBox1.Focus(); 
    //或者调用公共方法,设置焦点 
     
    修改 删除 举报 引用 回复   
      

  6.   

    呵呵 用timer控件也行啊!