子窗体只能打开一个(单例模式)

  1、在MDI主窗体中先要设置其属性:isMdiContainer=true;

 

  2、在要实现单例模式(也就是,一次只能打开一个该窗口)的窗体对象中,添加一个私有字段和属性,

    为了保证不能通过new Form1()方式创建窗体,所以还要保证 其构造函数私有化。

  

     			private static FrmClass instance;  //静态字段
			public static FrmClass Instance   //提供外部访问的属性
			{
				get
				{
					//未创建对象,或释放了该窗体。
					if(instance==null && instance.IsDisposed)
					{
						instance=new FrmClass();
					}
					return instance;
				}
			}
			//私有化不能 new()了
			private FrmClass()
			{
			//
			}

   3、在主窗体中调用时,

  

FrmClass frmClass =FrmClass.Instance;//创建对象
FrmClass.MdiParent = this;//设置窗体的父窗体是当前窗体

 

posted @ 2012-07-30 22:17  hello*boy  阅读(558)  评论(0编辑  收藏  举报