关于窗体关闭,程序不能结束的问题!
有两个窗体Form2和Form1,Form2为主窗体 Form1为登录窗体.在Form2的Main下Run的是Form1,意思为让Form1在程序启动时先启动。当登录成功后,弹出主窗体(Form2),Form1关闭(隐藏)。当在Form1下写this.close();程序会关闭,如果写this.hide();不会出现这种情况,但是当操作结束关闭主 窗体From2时,程序不会结束(在进程管理中可以看到,调试程序时调试不结束)!这是为什么啊!怎么能解决这个问题呢?谢谢了!

解决方案 »

  1.   

    private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
    Application.Exit();
    }
    窗体上绑定closing事件
      

  2.   

    private void Form2_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
    Application.Exit();
    }
    Form2窗体上绑定closing事件
      

  3.   

    绑定closing事件?什么意思啊!你的代码哪个是准确的啊?谢谢!
      

  4.   

    当要退出整个程序时:Application.Exit();
      

  5.   

    查看Form2的属性,点击闪电形的事件按钮,找到Closing事件,双击。然后代码如下
    private void Form2_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
    Application.Exit();
    }
      

  6.   

    哦!楼上的,明白了!说的太专业了没听明白!这就懂了!谢谢!CSDN需要热心人!^_^结帖!
      

  7.   

    为什么不换种方式呢!
    static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                //Application.Run(new FormTyreManageMain("gg","11"));
                FormLogin lf = new FormLogin();
                lf.ShowDialog();            if (lf.DialogResult.Equals(DialogResult.OK))
                {
                    Application.Run(new FormTyreManageMain(lf.UseName, lf.UsePassword));
                }  
            }
      

  8.   

    你要是关FORM想实现关闭应用程序,必须把close方法重写
    private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
    Application.Exit();
    }
    还有没有看到你程序,你是如何访问隐藏的FORM2的,可能有问题吧