问题
Normally I would do Application.Run(myMainForm).
But I want to do something like this:
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
}
回答1:
Set the Application.ShutdownMode property to ShutdownMode.OnLastWindowClose
MyForm1 f = new MyForm1();
f.Close += OnOpenOverviewWin();
Application.ShutdownMode = ShutdownMode.OnLastWindowClose;
Application.Run(f);
void OnOpenOverviewWin()
{
MyOverViewForm f = new MyOverViewForm ();
f.Show();
}
来源:https://stackoverflow.com/questions/1028843/windows-forms-change-application-mainwindow-at-runtime