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

来源:互联网 发布:windows xp密钥 编辑:程序博客网 时间:2024/05/09 14:34

    有许多人在用做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 YPZMfrm(loginForm.UserName));       }        }

然后在登录窗体声明一个全局变量

public string UserName = "";//用户名

然后在登录成功的代码中添加这段代码

UserName = this.tbxUserName.Text.Trim();              this.DialogResult = DialogResult.OK;                this.Close();


 参考资料:http://blog.csdn.net/xuemoyao/article/details/7928078

原创粉丝点击