public void Remove(string tabpagename)
        {
            foreach (TabPage tp in this.tabControl1.TabPages)
            {
                if (tp.Text == tabpagename)
                {
                    tabControl1.TabPages.Remove(tp);
                    MessageBox.Show("gg");
                }
                else { MessageBox.Show("hh"); }
            }
        }
        private void button5_Click(object sender, EventArgs e)
        {
            Remove("查询销售订单");
        }
以上是本窗体的,button5可以用,但是下面就不可以了:
我在另外一个窗体里面有一个按钮,单击事件如下:
        private void button1_Click(object sender, EventArgs e)
        {
            UI.MainForm MF = new MainForm();
            MF.Remove("查询销售订单");
        }
这样调用主窗体里的方法关闭不到本窗体怎么办?(不用this.close() .exit等方法关闭本窗体,我的窗体在tab页中,需要在主窗体关闭这个页)

解决方案 »

  1.   

    一,通过主窗体实例访问
    二,做成static函数
    三,自定义事件
      

  2.   

     UI.MainForm MF = new MainForm();
    我不是实例化了吗?
      

  3.   

     UI.MainForm MF = new MainForm();
    我不是实例化了吗?
     public void Remove(string tabpagename)
    改为: public static void Remove(string tabpagename)
      

  4.   

    ////FatherFrom        private void button2_Click(object sender, EventArgs e)
            {
                ChildForm frm = new ChildForm();
                frm.Show(this);
            }
     public  void SetText()
            {
                try
                {
                    textBox1.Text = "134123";
                }
                catch (Exception ex )
                {
                    
                    throw ex ;
                }
              
            }
    ///ChildForm 
          private void button1_Click(object sender, EventArgs e)
            {
                try
                {                MainAndChild.FatherFrom frm = (MainAndChild.FatherFrom)this.Owner;
                    frm.SetText();
                    
                }
                catch (Exception ex )
                {                MessageBox.Show(ex.Message.ToString());
                }
         
            }
      

  5.   


    你好,我的思路很简单,我像浏览器一样打开一个窗体就在tabcontrol控件里面添加一页(窗体全屏填充到tabcontrolpage里),然后我现在想在窗体里有一个取消的按钮一按就将tab页remove掉,所以这样我就需要用到子窗体与父窗体的方法调用,但是不行,改成public static void Remove 他就会说tabcontrol1非静态字段方法名...求解答
      

  6.   


    你好,我的思路很简单,我像浏览器一样打开一个窗体就在tabcontrol控件里面添加一页(窗体全屏填充到tabcontrolpage里),然后我现在想在窗体里有一个取消的按钮一按就将tab页remove掉,所以这样我就需要用到子窗体与父窗体的方法调用,但是不行,改成public static void Remove 他就会说tabcontrol1非静态字段方法名...求解答
      

  7.   


    你好,我的思路很简单,我像浏览器一样打开一个窗体就在tabcontrol控件里面添加一页(窗体全屏填充到tabcontrolpage里),然后我现在想在窗体里有一个取消的按钮一按就将tab页remove掉,所以这样我就需要用到子窗体与父窗体的方法调用,但是不行,改成public static void Remove 他就会说tabcontrol1非静态字段方法名...求解答
      

  8.   

    你找个MDI tabcontrol的自定义控件就行,百度有。实际上这个控件不是把窗体放到tabpage里面的,而是独立于子窗体,但子窗体的打开和关闭会触发事件,关联到tabcontrol上就行