C#基础(WinForm窗体的单例模式,避免窗体被实例化多次)

在MDI窗体中使用单例模式可以有效的避免同个窗体被实例化多次

 

[csharp] view plain copy
 
  1. //==============字窗体的修改================  //一.将构造函数改成private  
  2.         private FrmSub1()  
  3.         {  
  4.             InitializeComponent();  
  5.         }  
  6.   
  7.         //二.声明一个字窗体的类型的静态变量  
  8.         private static FrmSub1 instance;  
  9.   
  10.         //三.通过静态方法创建字窗体  
  11.         public static FrmSub1 CreateFrom()  
  12.         {  
  13.             //判断是否存在该窗体,或时候该字窗体是否被释放过,如果不存在该窗体,则 new 一个字窗体  
  14.             if (instance == null || instance.IsDisposed)  
  15.             {  
  16.                 instance = new FrmSub1();  
  17.             }  
  18.             return instance;  
  19.         }   
  20.   
  21. //==============MDI中的调用===========================//通过子类的静态方法实例化窗体           
  22.   
  23. FrmSub1 frm = FrmSub1.CreateFrom();  
  24.          frm.MdiParent = this;  
  25.          frm.Show();  
原文地址:https://www.cnblogs.com/CSharpLover/p/5193667.html