事实上,关闭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();