按照正常的在你form1的关闭按钮单击事件里写上 this.Close(); from2 f2=new form2(); f2.Show(); 这样你会发现按下关闭后整个程序都关了, 原因在于你这个程序有个入口点,也就是我们C#里面提到的Main方法,在WForm窗体编程中,点解决方案资源管理,里面有个Program.cs类, 点开它,在Main方法里有这样一行代码 Application.Run(new Form1()); 这是一个系统的静态类Application的一个Run方法,为了实现程序第一个启动的的程序,里面写的 new Form1() 就是启动了一个Form1的对象,这也就是每次我们程序点调试时候会第一个弹出Form1窗口的原因。 为了实现你提到的问题,我们可以把Application.Run(new Form1()); 发放里的new Form1();给去掉,然后在其前面手动把Form1给Show出来;Program这个类的代码改成如下: using System; using System.Collections.Generic; using System.Windows.Forms; namespace WindowsApplication1 { static class Program { /// /// 应用程序的主入口点。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 f1=new Form1(); f1.Show(); Application.Run(); } } } 这样就可以解决你说的问题了 不过this.Hide();是隐藏了这个窗口,而不是关闭;
本文链接http://www.cxybl.com/html/net/winform/20120611/29648.html