国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

MDI窗體程序中防止子窗體被多次實例化——Singleton的C#實現

2024-07-21 02:27:45
字體:
來源:轉載
供稿:網友
晚上逛csdn論壇的時候,看到c#區有位朋友問“防止mdi子窗體被多次實例化”,我隨即寫了這篇文章。

其實這個問題,就是經典的23種設計模式中的單件模式(singleton),下面用c#實現之:

首先我們有2個windows form,主窗體叫form1,子窗體叫childform。在主窗體中加入一menu,用來實例化子窗體,我們在form1.cs中寫入下代碼:

private static childform childform; //靜態變量,保存唯一實例

private void menuitem2_click(object sender, system.eventargs e)
{
childform childform = getchildform(); //獲取子窗體對象
childform.show(); //顯示之
}

private childform getchildform()
{
//先后次序不能錯,前一個條件用來判斷是否是第一次,后一個條件用來判斷子窗體是否被關閉了
if( childform == null || childform.isdisposed )
{ //第一次實例化也好,被關了也好,都重新實例化
childform = new childform();
childform.mdiparent = this;
}

return childform;
}

----------------------------------------------------------------------------------------------------------
ok, just easy like this! enjoy it!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新郑市| 新和县| 西充县| 丰城市| 曲阜市| 蒙自县| 沙坪坝区| 通州区| 蒲江县| 崇义县| 沧源| 友谊县| 清新县| 改则县| 伊通| 乌鲁木齐县| 翁源县| 蒲江县| 平原县| 克什克腾旗| 敦煌市| 黑水县| 宜宾县| 繁峙县| 临沧市| 瑞丽市| 疏附县| 西贡区| 行唐县| 张家港市| 台东县| 宁国市| 金川县| 平原县| 沛县| 高淳县| 聂拉木县| 大庆市| 当阳市| 沿河| 吐鲁番市|