首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[C#] WinForm程序退出方法总结

[C#] WinForm程序退出方法总结

作者头像
科控物联
发布2022-03-29 20:28:32
发布2022-03-29 20:28:32
2.2K0
举报
文章被收录于专栏:科控自动化科控自动化

在做调试的时候,如果程序退出不彻底,可能会要重启电脑才能再次调试....

用System.Environment.Exit(0);就能彻底退出.

代码语言:javascript
复制
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)

{
	if (MessageBox.Show("是否确认退出系统?", "退出确认", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No)
	{
		e.Cancel = true;
	}
	else
    {
        this.Close();
        // 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;

        Application.Exit();
        //强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;

        Application.ExitThread();
        //强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题

        System.Environment.Exit(0);
        //这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
    }

P.S.捕捉程序异常,并记录也许是个好习惯.

此事件提供未捕获的异常的通知。 它允许应用程序在系统默认处理程序向用户报告异常并终止应用程序之前记录有关异常的信息。 如果提供了有关应用程序状态的足够信息,则可以执行其他操作,例如保存程序数据以便以后恢复。 建议注意,因为在未处理异常时,程序数据可能会损坏。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档