我想加入这个窗体打开了就直接传参数不让他在重新打开一个。

解决方案 »

  1.   


    public Form IsExist(string childFrmName)
            {
                foreach (Form childFrm in this.MdiChildren)
                {
                    if (childFrm.Name == childFrmName)
                    {
                        childFrm.Activate();
                        return childFrm;
                    }
                }
                return null;
            }
    循环遍历主窗体,如果存在说明隐藏了,那么就激活它,如果不存在就创建它
      

  2.   

    用mutex实现单实例运行~
    http://blog.csdn.net/zhengzhichen/article/details/3721740
      

  3.   

    可以使用全局变量。
    public static MyForm myform = null;void ini()
    {
      myform = new MyForm();
    }
      ...
      if(myform != null)...
      

  4.   

    创建一个hashTable,用来维护所有打开的窗体,每创建一个窗体,先看hashTable里是否存在,存在拿来直接用就可以了。
    其实可以写一个工厂类,把这个过程写成一个函数
      

  5.   

    可以查看窗体的Activate()来确定