【问题标题】:Open Windows Form only once in C# [duplicate]在 C# 中仅打开一次 Windows 窗体 [重复]
【发布时间】:2013-01-16 13:38:45
【问题描述】:

可能重复:
How to avoid multiple instances of windows form in c#

我只想在应用程序中显示一次打开的表单,而不将它们创建为 MDI 表单。

【问题讨论】:

  • 你能提供更多细节吗?这是您的应用程序主窗体还是其他子窗体?另外,您研究和尝试了什么?您面临什么问题?
  • 我确实找到了很久以前的代码(现在这个代码丢失了)。这使我只能显示每个表单一次。显示表单的第二个请求将打开同一个窗口。
  • 这可能对你有帮助:stackoverflow.com/questions/1403600/…

标签: c# winforms


【解决方案1】:

在从您的代码中打开表单之前,请检查 Application.OpenForms 属性并查看该表单是否存在于集合中。

类似:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多