2013-01-16 49 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,然后检查窗体打开时的变量。