C# 关闭登录窗体,进入主窗体后,主窗体关闭,程序进程仍在运行的问题

           有许多人在用做c# 做登录窗体时会遇到这样的问题,登录成功后当前登录Form关闭,打开Main窗体,但Main窗体点关闭按钮后程序仍在进程仍旧在运行。

           事实上,关闭Main窗体,只是关闭了Main窗体的线程,并没有关闭程序的主线程,即程序的主线程为登录From。

           有些人会采用这样的做法:

                   MainForm  mainForm=new MainForm();

                   mainForm.Show();

                   this.Visible=false;//或者this.Hide();

            这样当前登录窗体只是被隐藏了,并没有被关闭,所以即使在关闭MainForm后,程序的进程仍在运行。

          解决方法如下:

          在 Program.cs文件中做如下修改

                      /// <summary>     

                      /// 应用程序的主入口点。       

                      /// </summary> 

                      [STAThread]       

                      static void Main()       

                     {           

                       Application.EnableVisualStyles();           

                       Application.SetCompatibleTextRenderingDefault(false);           

                       LoginForm loginForm = new LoginForm();           

                       if (loginForm.ShowDialog() == DialogResult.OK)           

                       {               

                         Application.Run(new MainForm());           

                       }       

                     }

                然后在登录窗体 如果登录成功 添加这段代码                

                     this.DialogResult = DialogResult.OK;               

                     this.Close();

           快来试试吧!

你可能感兴趣的:(C#)