用了MDI窗体,我在窗体上加上了菜单,点击菜单显示MDI窗体子窗体,
但是每点击一次菜单都会出现子窗体,这样导致出现相同的窗体,怎样使点一个菜单只出一个窗体呢?
望各位大侠帮帮忙~

解决方案 »

  1.   

    定义一个全局变量,来标识时候有这个子窗体了,(初始化为false)
    如果有则不重新生成,将已经有的那个前端显示
    如果没有则生成显示,并改变全局变量标识的值(修改为true)。每当关闭这个子窗体时,修改全局变量标识(修改为false)
      

  2.   

     //在现有子窗口中查找,找到的话激活并显示
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is FormX)//找到后显示并退出
                    {
                        frm.Activate();
                        frm.WindowState = FormWindowState.Normal;
                        return;
                    }
                }
                //没找到,创建新的显示
                FormX frmX = new FormX();
                frmX.MdiParent = this;
                frmX.Show();