我在托盘菜单里,想弹出一个窗体A。然后想在窗体B里,点击一个按钮也弹出窗体A。如果用两个new的话,就出来2个窗体了。
请问如何一直弹出始终一个窗体A?

解决方案 »

  1.   

    定义个全局窗体,触发事件SHOW或者HIDE
      

  2.   

    现在的问题是,在什么地方初次NEW窗体呢?
      

  3.   

    点击托盘时,通过构造函数把窗体A传给窗体B。或者在窗体B中设Form属性传值也可以吧!
      

  4.   


    A a = new A();//全局的                    if (a.IsDisposed)
                        {
                            a = new A();
                            
                        }
                        if (!a.IsHandleCreated)
                        {
                            a.Show();
                        }//注册关闭事件
    a.FormClosed += new FormClosedEventHandler(a_FormClosed);
                if (!a.IsDisposed)
                {
                    a.Dispose();
                }
      

  5.   

    楼上正解 单例模式啊!!!
    private static Form a = null;        public static Form GetOnlyInstance()
            {
                if (a == null && a.IsDisposed)
                    a = new Form();
                return a;
            }
      

  6.   

    纠正 &&  变  ||