首页 > 解决方案 > winforms - 两次显示相同的表格?

问题描述

我有一个我写的又快又脏的 winforms 应用程序,它在 Form() 类中编写了很多控制逻辑和内部逻辑。

我需要打开同一个表单两次(其中一个表单就像对另一个表单的引用),我正在寻找另一种快速而肮脏的解决方案。

我的 Program 类中的代码:

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Main());
        //Can I run Main() form a again as reference to the intial form?
    }
}

是的,我知道最佳实践提到我应该与用户控件等分开,请不要判断。感谢您的帮助,在此先感谢。

标签: c#.netwinforms

解决方案


如果您决定使用 Nii 解决方案,请记住递归,因为解决方案永远不会结束。您将需要一些控制来仅显示一个表单,这样的事情可能会起作用:

static int control = 0;
...
if (control == 0)
{
control = 1;
var newForm = new Main();
newForm.Show();
}

推荐阅读