首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么在子窗体里 关闭另一个子窗体

2013-04-21 
如何在子窗体里 关闭另一个子窗体本帖最后由 wang_maosen 于 2013-04-17 10:45:32 编辑进入一个主窗体From

如何在子窗体里 关闭另一个子窗体
本帖最后由 wang_maosen 于 2013-04-17 10:45:32 编辑 进入一个主窗体From1,然后弹出 Form2 和Form3 。

如何Form2 里的关闭Form3窗体?



求源码源码 源码 源码 源码  不要思路。

源代码
[解决办法]
在Form1中定义Form3和Form2的对象,重载Form2的构造函数,函数里加一个Form3类型参数
Form1中:
Form3 form3= new Form3()
Form2 form2= new Form2(form3)
Form2中:定义Form3类型变量
Form3 newform=null;
重载构造函数:
public Form2(Form3 pform)
{
  newform=pform;
}
通过下面2句话可以在Form2中控制Form3的显示或关闭
 newform.Show();
 newform.Close();
[解决办法]

 Form2 fo2 = new Form2();
        Form3 fo3 = new Form3();
        public Form1()
        {
            InitializeComponent();
        }

        void Form1_Click(object sender, EventArgs e)
        {
            //fo3.Close();//这里关闭了form3就不能再显示,可以用隐藏
            fo3.Hide();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            fo2.Controls["button1"].Click += Form1_Click;//根据名字查找form2上的按钮
            fo2.Show();
            fo3.Show();
        }

[解决办法]
是啊,只不过把代码在form1里边写着呢,你可以挪到form2里边啊。

就是在form1里边实例化一个form2,然后找到form2的按钮,在写click的事件,在事件里边吧form3关闭。

你把代码执行一下就知道了!
[解决办法]
form2里关闭form3

foreach(Form frm in this.MdiParent.MdiChildren)
{
     if(frm is Form3)
    {
        frm.Close();
    }
}

[解决办法]
form2里打开form3
Form3 frm=new Form3();
frm.MdiParent=this.MdiParent;
frm.Show();

[解决办法]
foreach (Form form in Application.OpenForms)
            {
                if (form.Name== "Form2")
                {
                    form.Close();
                    break;


                }
            }

热点排行