C# Windows窗体:在运行时更改应用程序主窗口
通常我会做Application.Run(myMainForm) 但我想这样做:C# Windows窗体:在运行时更改应用程序主窗口,c#,.net,winforms,mainwindow,C#,.net,Winforms,Mainwindow,通常我会做Application.Run(myMainForm) 但我想这样做: MyForm1 f = new MyForm1(); f.Close+=OnOpenOverviewWin(); Application.Run(f); void OnOpenOverviewWin() { MyOverViewForm f = new MyOverViewForm (); Application.Run(f); // i want to do this Application.NewMainWi
MyForm1 f = new MyForm1();
f.Close+=OnOpenOverviewWin();
Application.Run(f);
void OnOpenOverviewWin()
{
MyOverViewForm f = new MyOverViewForm ();
Application.Run(f); // i want to do this
Application.NewMainWindow = f; // or something like that
}
将属性设置为
除了关闭应用程序外,主窗口是否没有其他含义?如果关闭第一个打开的窗口,主窗口属性将发生更改。您还可以在关闭处理程序中将主窗口设置为新窗口,而不是更改关闭模式。哪个主窗口属性?应用程序类没有这样的东西。对不起,我看错了应用程序类。你说得对,没有MainWindow属性。该属性是在WPF版本的应用程序类中添加的,因此您必须更改ShutdownMode。ShutdownMode属性也仅在WPF应用程序类上定义。
MyForm1 f = new MyForm1();
f.Close += OnOpenOverviewWin();
Application.ShutdownMode = ShutdownMode.OnLastWindowClose;
Application.Run(f);
void OnOpenOverviewWin()
{
MyOverViewForm f = new MyOverViewForm ();
f.Show();
}