单例模式弹出窗体实现

有时需要多次弹出一个窗体,但是窗体较为复杂弹出缓慢,下方的单例模式实现则较好的解决了这个问题,好处是窗体是静态的,仅构造一次,第二次弹出的时候相对比较快

单例模式弹出窗体实现
 1 using System;
 2 using System.Windows.Forms;
 3 
 4 namespace SingleFormDemo
 5 {
 6     public partial class PopForm : Form
 7     {
 8         private PopForm()
 9         {
10             InitializeComponent();
11         }
12 
13         private static PopForm _instance;
14 
15         //窗体静态单例方法
16         public static PopForm Singleton()
17         {
18             return _instance ?? (_instance = new PopForm());
19         }
20 
21         private void button1_Click(object sender, EventArgs e)
22         {
23             this.Close();
24 
25         }
26         //窗体正在关闭
27         private void PopForm_FormClosing(object sender, FormClosingEventArgs e)
28         {
29             _instance = null;
30         }
31 
32     }
33 }
单例模式弹出窗体实现

主窗体调用代码

单例模式弹出窗体实现
1         private void button1_Click(object sender, EventArgs e)
2         {
3             PopForm.Singleton();
4             PopForm.Singleton().ShowDialog();
5         }
单例模式弹出窗体实现

 

 

如果需要更进阶的了解单例模式,请看单例模式(Singleton)的6种实现

单例模式弹出窗体实现,布布扣,bubuko.com

单例模式弹出窗体实现

上一篇:Ubuntu 如何强制时间同步


下一篇:Linux系统下安装Redis