在C#中仅打开一个Windows窗体

3

你能提供更多细节吗?这是您的应用程序主表单还是其他子表单?此外,您已经进行了哪些研究和尝试?您面临的问题是什么? - Ravi Y
我很久以前找到了实现此功能的代码(但现在这段代码已经丢失了)。它可以让我只显示每个表单一次。第二次请求显示该表单将打开同一个窗口。 - faheem khan
这可能会对您有所帮助:https://dev59.com/wUnSa4cB1Zd3GeqPMklw - Srinivas
3个回答

19
在从您的代码打开表单之前,请检查 Application.OpenForms 属性,看看该表单是否存在于集合中。
类似如下内容:
if ((Application.OpenForms["Form1"] as Form1) != null)
{
 //Form is already open
}
else
{
// Form is not open
}

0

您可以使用show\hide方法来打开您的表单。每次显示表单后,您还需要初始化所有表单字段。


0
使用一个布尔变量,默认值为false,一旦表单显示后将其设置为true,并在打开表单时检查该变量。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接