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

  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;//设置窗体的父窗体是当前窗体

 

你可能感兴趣的:(单例模式)