C# 创建单例模式
创建单例模式步骤:
1、在子窗体中将要创建的单例对象构造函数私有化
2、在子窗体中提供一个静态方法,返回一个对象
3、在子窗体中创建一个单例对象
4、子窗体关闭时,需要释放单例对象
代码演示:
子窗体(Form2)设置如下:
public partial class Form2 : Form //子窗体 { public static Form2 FormSingle = null; //③创建一个单例 private Form2() //①将要创建的单例对象构造函数私有化 { InitializeComponent(); } public static Form2 GetSingle() //②创建一个静态方法,返回一个对象 { if (FormSingle==null) { FormSingle = new Form2(); } return FormSingle; } private void Form2_FormClosing(object sender, FormClosingEventArgs e) //④ 子窗体关闭时,需要释放单例对象 { FormSingle = null; //标志单例被关闭,允许下次创建 } }主窗体(Form1)设置如下:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) //主窗体调用 { Form2 form2 = Form2.GetSingle(); //判断子窗体是否被创建 if (form2.WindowState==FormWindowState.Minimized) //如果子窗体最小化 { form2.WindowState = FormWindowState.Normal; //将子窗体设置为默认(保持最前) } form2.Show(); //显示子窗体 } }运行结果如下: