public Form1()
{
     InitializeComponent();
     Form2 f = new Form2();
     f.Show();
}
当Form1关闭时,Form2也会被关闭,form1的什么地方保存了form2的引用?

解决方案 »

  1.   

    可通过把form1隐藏来解决。
    public Form1()
    {
         InitializeComponent();
         Form2 f = new Form2();
         this.Hide();
         f.Show();
    }
      

  2.   

    form1是主进程,主进程都关了,form2就自然退出了。看看你的process.cs文件里的代码吧。
      

  3.   


     static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }看下Program.cs这个文件就知道了,这是程序起始点,如果Form1关闭的话,整个Application就退出了
      

  4.   

    明白了,有没有在什么地方保存所有弹出窗口的引用呢?
    C# code
      

  5.   


    Application.OpenForms保存当前所有打开的窗体。