我没有使用C#中MDI父窗体,而把普通窗体通过(d.owner=this;)设为父窗体,但控制不了窗体打开数量,同一个窗体可以打开无数次,请求各位高手帮帮手.限制激活窗体的数量只为一.

解决方案 »

  1.   

    打开前判断 if (Application.OpenForms.Count == 1)
                        {
                            //新开窗体
                        }
      

  2.   

    Mutex 类 可以用   不过既然是子窗体的问题  你可以给子窗体 类设置个静态 bool值
     然后load方法里 bool改为false 如果是false 就close
       over
      

  3.   

    季度里维斯 大果
        窗体也可能有多个啊所以 用Count 应该不行啊。       另外 楼主你的结贴率谁还敢回你的帖啊
      

  4.   

    if (Application.OpenForms["form2"]== null)
                        {
                            //新开窗体
                        }
      

  5.   

    你告诉他 OpenForms集合 我感觉应该就够鸟
      

  6.   

    if (Application.OpenForms.Count == 1)
                        {
                            //新开窗体
                        }
    这个
    你去把以前发的帖子给结了
      

  7.   

    设置一个静态的标志,bool型或者整型都可以;
    我都是用这种简单的方法
      

  8.   

    添加一个List<string>  openform
    Form2 f2 
    show之前 看看string里面有没有f2 
    没有的话f2.show()
    openform.add("f2");