如果需要仅仅显示Form2,除了将Form1.Close改为Form1.Hide之外,还有一种办法,就是将Main改为:static void Main()
{
(new Form1()).Show();
Application.Run(); // 启动独立的应用程序线程
}
这样Form1中的this.Close()就不会导致应用程序终止运行了,而且不需要Form1时,可以真正Close从而释放一些资源。不过,应用程序的终止就不要在其他地方控制了,比如在Form2的Closed事件中:private void Form2_Closed(object sender, System.EventArgs e)
{
Application.Exit();
}
在多文档应用程序中,往往需要在内部维护一个当前活动Form的列表,最后一个Form关闭时,再调用Application.Exit。
{
(new Form1()).Show();
Application.Run(); // 启动独立的应用程序线程
}
这样Form1中的this.Close()就不会导致应用程序终止运行了,而且不需要Form1时,可以真正Close从而释放一些资源。不过,应用程序的终止就不要在其他地方控制了,比如在Form2的Closed事件中:private void Form2_Closed(object sender, System.EventArgs e)
{
Application.Exit();
}
在多文档应用程序中,往往需要在内部维护一个当前活动Form的列表,最后一个Form关闭时,再调用Application.Exit。
static void Main()
{
Form2 f2=new Form2();
f2.ShowDialog();
Application.Run(new Form1());
}Form2是登录窗体。