2013-01-16 54 views
3

可能重複:
How to avoid multiple instances of windows form in c#打開Windows窗體只在C#一旦

我想不創建爲MDI形式展現開放的形式只在一個應用程序一次。

+0

使用'MuteX',祝你好運 –

+0

你能提供更多細節嗎?這是您的應用程序主表單還是其他一些子表單?另外,你有什麼研究和嘗試?你面臨的問題是什麼? – ryadavilli

+0

我確實發現了很久以前的代碼(現在這個代碼丟失了)。這允許我只顯示一次表單。第二次顯示錶單的請求將打開相同的窗口。 –

回答

12

在從代碼打開表單之前,請檢查Application.OpenForms屬性並查看錶單是否存在於集合中。

喜歡的東西:

if ((Application.OpenForms["Form1"] as Form1) != null) 
{ 
//Form is already open 
} 
else 
{ 
// Form is not open 
} 
0

你可以使用顯示\隱藏方式打開表單。每次顯示後,您還需要初始化所有表單域。

0

使用一個布爾變量,其默認值爲false,一旦顯示窗體,將其設置爲true,然後檢查窗體打開時的變量。