0

可能重复:
Windows 窗体:在运行时更改应用程序主窗口

我想创建新表单,并在 C# 中销毁主表单。我怎么能这样做?

var fw2 = new Form2();
fw2.Show();
this.Dispose();

此代码仅显示第二种形式一秒钟并关闭我的程序。有任何想法吗?

4

1 回答 1

0

我在 Program 课上做过这种事情。我只是将以下通常在 Main 方法中看到的代码放入一个循环中。

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain());

一旦主窗体关闭,代码就会离开“运行”方法并进入一个循环,该循环检查应用程序全局变量以查看它是否需要呈现新窗体。

如果您只是想打开一个新表单,这太过分了,但如果您经常“交换”主表单,它似乎工作得很好。

我的代码看起来(有点)像这样......

while (true)
{
    if (AppSettings.SomeFormSettng = FormSetting.ShowAnotherForm)
    {
        Form showThisForm = AppSettngs.TheForm;
        if (ThisIsTheFirstRun)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            ThisIsTheFirstRun = false;
        }
        Application.Run(new showThisForm ());
    }
    else
    {
        return;
    }
}
于 2013-01-16T10:35:51.800 回答