我在mdi界面下放了一个panel,然后在panel下开了多个panel的子窗体,我怎么把这些子窗体一下子全部关掉。求答谢谢。
顺便再文个问题,我在一个窗体上打开了一个新的窗体,怎么样才能锁定住旧的窗体,就是说在操作新窗体的时候,不能点击操作旧窗体。

解决方案 »

  1.   

       List<Form> list = new List<Form>();
                foreach (Control ct in panel1.Controls)
                {
                    if (ct.GetType().BaseType.Name == "Form")
                    {
                        Form frm = (Form)ct;
                        list.Add(frm);
                    }
                }
                foreach (Form fm in list)
                {
                    fm.Close();
                }
    第二个问题:
    Form2 frm = new Form2();
                frm.MdiParent = this;
                frm.Parent = panel1;
                frm.ShowDialog();
      

  2.   

    第一个问题解决了,谢谢,第二个问题我新窗体formclosed事件里面写了关闭应用程序,用了ShowDialog()后随便点击新窗体哪个按钮他都会是认为结束了所以把整个应用程序关闭了。有没有show()方法的锁定?
      

  3.   

    ShowDialog() 出来的新窗口不能进行操作啊,随便什么按钮就关了,新窗口的按钮我设置了检查用username,刚点就整个窗体关了
      

  4.   

    不会吧,是不是你设置了DialogResult