在主窗口上单击一个按钮10次会新建10个子窗口,如何只新建一个?
在第二单击时只是将第一回新建的窗口显示到前边。请教

解决方案 »

  1.   

    楼主的意思是只允许一个form1的实例吧,Show()之前先判断一下就行了frmForm1 form1 = null;private void button1_Click(object sender, EventArgs e)
    {
        if (form1 == null || form1.IsDisposed)
        {
            form1 = new frmForm1(this);
            form1.Show();
        }
        else
        {
            form1.Activate();
        }
    }
      

  2.   

    if (this.MdiChildren.Length == 0)
    {
        Form2 f2 = new Form2();
        f2.MdiParent = this;
        f2.Show();
    }
      

  3.   

    没说清楚
    我的主窗口有三个子窗口。if (int i = 0; i < this.MdiChildren.Length; i++)
    {
       // 找到子窗口 将其显示到最前边,如果没有则new一个
    }不知怎在循环中找子窗口?
      

  4.   

    if (this.MdiChildren.Controls["子窗口名字"] != null)
    {
       // 找到子窗口 将其显示到最前边,如果没有则new一个
    }
    else
    {
        new            
     }