using System.Windows.Forms; namespace 單例模式 { public partial class Form2 : Form { private Form2() { InitializeComponent(); } } }
2.提供一個靜態方法,返回一個對象java
using System.Windows.Forms; namespace 單例模式 { public partial class Form2 : Form { private Form2() { InitializeComponent(); } public static Form2 GetSingle() { Form2 form = new Form2(); return form; } } }
3.在Form1中調用函數
using System; using System.Windows.Forms; namespace 單例模式 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form = Form2.GetSingle();//new Form2(); form.Show(); } } }
4.在Form2中建立一個單例spa
using System.Windows.Forms; namespace 單例模式 { public partial class Form2 : Form { //全局惟一的單例 public static Form2 FrmSingle = null;//這是一個靜態的字段,初值設爲null private Form2() { InitializeComponent(); } public static Form2 GetSingle() { if (FrmSingle == null)//作一個判斷,若是FrmSingle爲null的時候在建立對象 { FrmSingle = new Form2();//建立完這個對象以後不給Form2,給FrmSingle } return FrmSingle;//返回FrmSingle } } }
作完以上的步驟,運行Form1,無論點幾回建立按鈕,都只是建立的哪個對象.orm