现有Form1,其中有一个按钮,
click事件中我是这样写的Form2 f2 = new Form2();
f2.Show();
this.Close();
点击按钮之后,整个程序就结束了,这是怎么回事啊

解决方案 »

  1.   


    Form2 f2 = new Form2(); 
    f2.Show(); 
    this.Hide(); 
      

  2.   

    FORM2 依赖于当前窗体,因为你是在当前窗体中创建的FORM2  如果当前窗体关闭了,依赖于他的窗体肯定也关闭了。
      

  3.   

    问题不在那里。
    有没有注意过WinForm程序是怎么开始的?
    Program.cs中:static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
    Application.Run(new Form1());就是用来创建新的Form1窗体,并且在其上开始Windows消息循环。
    当Form1关闭后,自然消息循环将终止。Main()方法也结束,那么程序也将结束。如果要实现楼主所要的功能,将Program.cs改为如下:static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
                Application.Run(new Form2());
            }