一、关闭窗体
- this.Close();仅仅是关闭当前窗口,若不是主窗体的话程序无法退出。
- Application.Exit();强制所有消息终止,退出所有的窗体。
- Application.ExitThread();强制终止调用线程上的所有消息。
- System.Environment.Exit(0);最彻底的退出方式,不管什么线程都可以被强制退出。
二、登录窗体与主窗体
当我们从登录窗体登录成功后,登录窗体消失,主窗体出现;但是当我们关闭主窗体时程序却没有结束,这是因为登录窗体是主线程,我们仅仅是关闭了主窗体的线程,并没有关闭主线程。
情况一:点击窗体关闭按钮后,窗体退出,程序结束
方法一:
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
方法二:
private void FrmMain_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
我们需要知道FormClosing与FormCLosed的却别是:FormClosing在关闭发生前,可取消;FormClosed在关闭之后发生,关闭动作不可取消。
情况二:点击窗体关闭按钮后,弹出提示,若点击确认则窗体退出,程序结束
方法一:
private void FrmMain_FormClosing(object sender, FormClo