c# 学习笔记 (3) 窗体单例模式
單例模式
在主窗體中觸發(fā)一個(gè)事件,然后在事件處理函數(shù)中new一個(gè)新窗體對(duì)象,調(diào)用對(duì)象的show方法將窗體顯示出來,但是這樣會(huì)有一個(gè)問題,那就是多次在主窗體中觸發(fā)該事件,就會(huì)產(chǎn)生多個(gè)子窗體,一般情況下只需要一個(gè)子窗體即可。想要實(shí)現(xiàn)多次觸發(fā)事件,但是只生成一個(gè)子窗體,需要用到單例模式
1.將子窗體的構(gòu)造函數(shù)修改為私有
2.類內(nèi)創(chuàng)建一個(gè)私有的靜態(tài)字段
3.類內(nèi)新建一個(gè)靜態(tài)方法 FormChildInstance 當(dāng)_formChild為空或者已釋放的情況下才回調(diào)用構(gòu)造函數(shù)創(chuàng)建新窗體,其他情況下直接返回之前已構(gòu)造的窗體句柄
4.在外部使用 FormChild formChild = FormChild.FormChildInstance();來代替FormChild formChild = new FormChild();構(gòu)造對(duì)象。
除了上面的方法外,還可以直接將窗體顯示的show方法改為 ShowDialog方法,缺點(diǎn)就是必須關(guān)閉ShowDialog方法顯示的窗體后才能操作其他窗體
總結(jié)
以上是生活随笔為你收集整理的c# 学习笔记 (3) 窗体单例模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# 学习笔记 (2) 窗体之间互相调用
- 下一篇: # C# 学习笔记(4) 类