20 个解决方案
#1
Application.Exit();
#2
1.Application.Exit();
this.close();
2.Application.ExitThread();
this.close();
3.
Environment.Exit(1);
this.close();
2.Application.ExitThread();
this.close();
3.
Environment.Exit(1);
#3
Application.Exit();
this.close();
this.close();
#4
Application.Exit()
#5
Environment.Exit(1);
这个最强...
这个最强...
#6
谢谢各位的回复啊,那关闭主窗体的事件是closing还是closed啊?
#7
mark
#8
捕获关闭事件, 然后遍历关闭子窗体.
尽量不要Application.Exit(), 有资源清理的一些问题.
尽量不要Application.Exit(), 有资源清理的一些问题.
#9
Application.Exit()
#10
Application.Exit()
似乎这个就可以搞定一切
似乎这个就可以搞定一切
#11
重写主窗体的关闭时间,然后 加上 Application.Exit();
#12
附:几种程序退出方法比较
·this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
·Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
·Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
·System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
·this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
·Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
·Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
·System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
#13
System.Environment.Exit(0);
#14
很不错,学习了.
#15
不错,学习了。。。
#16
谢谢各位的回复啊,那关闭主窗体的事件是closing还是closed啊?
都是关闭事件。。。。
Closed 关闭窗体后发生。
Closing 在关闭窗体时发生。
closeing一般是你在点击关闭按钮时候发生的,在做mdi的子窗体点关闭按钮的时候经常在closeing事件中加上处理,使得子窗体只是隐藏而不是关闭。。。
都是关闭事件。。。。
Closed 关闭窗体后发生。
Closing 在关闭窗体时发生。
closeing一般是你在点击关闭按钮时候发生的,在做mdi的子窗体点关闭按钮的时候经常在closeing事件中加上处理,使得子窗体只是隐藏而不是关闭。。。
#17
谢谢各位的回复啊,那关闭主窗体的事件是closing还是closed啊?
都是关闭事件。。。。
Closed 关闭窗体后发生。
Closing 在关闭窗体时发生。
closeing一般是你在点击关闭按钮时候发生的,在做mdi的子窗体点关闭按钮的时候经常在closeing事件中加上处理,使得子窗体只是隐藏而不是关闭。。。
都是关闭事件。。。。
Closed 关闭窗体后发生。
Closing 在关闭窗体时发生。
closeing一般是你在点击关闭按钮时候发生的,在做mdi的子窗体点关闭按钮的时候经常在closeing事件中加上处理,使得子窗体只是隐藏而不是关闭。。。
#18
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if(!e.CloseReason.Equals(CloseReason.ApplicationExitCall)) //要加这个判断,否则会执行两次弹出窗体!
{
if (MessageBox.Show("是否确定退出1-Pigeon销售系统?", "确认对话框", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
{
e.Cancel = false;
Application.Exit();
}
else
{
e.Cancel = true;
}
}
}
{
if(!e.CloseReason.Equals(CloseReason.ApplicationExitCall)) //要加这个判断,否则会执行两次弹出窗体!
{
if (MessageBox.Show("是否确定退出1-Pigeon销售系统?", "确认对话框", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
{
e.Cancel = false;
Application.Exit();
}
else
{
e.Cancel = true;
}
}
}
#19
只要主窗体的所有对象都释放了。程序就结束了。所有子窗体也就关了。建议全局就用一个主窗体的对象。(条件允许的情况)
#20
m
#21
#1
Application.Exit();
#2
1.Application.Exit();
this.close();
2.Application.ExitThread();
this.close();
3.
Environment.Exit(1);
this.close();
2.Application.ExitThread();
this.close();
3.
Environment.Exit(1);
#3
Application.Exit();
this.close();
this.close();
#4
Application.Exit()
#5
Environment.Exit(1);
这个最强...
这个最强...
#6
谢谢各位的回复啊,那关闭主窗体的事件是closing还是closed啊?
#7
mark
#8
捕获关闭事件, 然后遍历关闭子窗体.
尽量不要Application.Exit(), 有资源清理的一些问题.
尽量不要Application.Exit(), 有资源清理的一些问题.
#9
Application.Exit()
#10
Application.Exit()
似乎这个就可以搞定一切
似乎这个就可以搞定一切
#11
重写主窗体的关闭时间,然后 加上 Application.Exit();
#12
附:几种程序退出方法比较
·this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
·Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
·Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
·System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
·this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
·Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
·Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
·System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
#13
System.Environment.Exit(0);
#14
很不错,学习了.
#15
不错,学习了。。。
#16
谢谢各位的回复啊,那关闭主窗体的事件是closing还是closed啊?
都是关闭事件。。。。
Closed 关闭窗体后发生。
Closing 在关闭窗体时发生。
closeing一般是你在点击关闭按钮时候发生的,在做mdi的子窗体点关闭按钮的时候经常在closeing事件中加上处理,使得子窗体只是隐藏而不是关闭。。。
都是关闭事件。。。。
Closed 关闭窗体后发生。
Closing 在关闭窗体时发生。
closeing一般是你在点击关闭按钮时候发生的,在做mdi的子窗体点关闭按钮的时候经常在closeing事件中加上处理,使得子窗体只是隐藏而不是关闭。。。
#17
谢谢各位的回复啊,那关闭主窗体的事件是closing还是closed啊?
都是关闭事件。。。。
Closed 关闭窗体后发生。
Closing 在关闭窗体时发生。
closeing一般是你在点击关闭按钮时候发生的,在做mdi的子窗体点关闭按钮的时候经常在closeing事件中加上处理,使得子窗体只是隐藏而不是关闭。。。
都是关闭事件。。。。
Closed 关闭窗体后发生。
Closing 在关闭窗体时发生。
closeing一般是你在点击关闭按钮时候发生的,在做mdi的子窗体点关闭按钮的时候经常在closeing事件中加上处理,使得子窗体只是隐藏而不是关闭。。。
#18
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if(!e.CloseReason.Equals(CloseReason.ApplicationExitCall)) //要加这个判断,否则会执行两次弹出窗体!
{
if (MessageBox.Show("是否确定退出1-Pigeon销售系统?", "确认对话框", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
{
e.Cancel = false;
Application.Exit();
}
else
{
e.Cancel = true;
}
}
}
{
if(!e.CloseReason.Equals(CloseReason.ApplicationExitCall)) //要加这个判断,否则会执行两次弹出窗体!
{
if (MessageBox.Show("是否确定退出1-Pigeon销售系统?", "确认对话框", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
{
e.Cancel = false;
Application.Exit();
}
else
{
e.Cancel = true;
}
}
}
#19
只要主窗体的所有对象都释放了。程序就结束了。所有子窗体也就关了。建议全局就用一个主窗体的对象。(条件允许的情况)
#20
m