c#开发的应用程序做退出程序的代码

C# 关于WinForm窗体程序的退出方法总结 很多人对于关闭窗口都有不同的需求,以下是关闭窗体的几种方法: 一、关闭窗体 1. this.Close();仅仅是关闭当前窗口,若不是主窗体的话程序无法退出。 2. Application.Exit();强制所有消息终止,退出所有的窗体。 3. Application.ExitThread();强制终止调用线程上的所有消息。 4. System.Environment.Exit(0);最彻底的退... 阅读详情

Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵 

this.Close();//只是关闭当前窗体。

 Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口。 也会失灵

 Environment.Exit(0); //前面三种方法都不能很好的退出程序,此方法可以完全退出程序,这个要强制得多。 

Process.GetCurrentProcess().Kill();//此方法完全奏效,绝对是完全退出。

 

一些操作可以关注:GC.Collect()

 

另:

1,将主线程设置为后台进程。方法是将主线程的isBackground = true。据说,这样在关闭主程序时后关闭主线程,并关闭所有的线程。

 

2,有人列出了c#程序退出的几种方法:

     (1)Application.Exit()//好像只在主线程可以起作用,而且当有线程,或者是阻塞方法的情况下,很容易失灵。

     (2) System.Environment.Exit(0) //无论在主线程或其它线程,都可以吧程序结束干净

     (3)Application.ExitThread();

但是我发现(2)这个方法在.netFrame Work compact下是没有的我这样

最后我的解决办法是:强制退出程序进程。代码如下:

System.Diagnostics.Process tt = System.Diagnostics.Process.GetProcessById(System.Diagnostics.Process.GetCurrentProcess().Id);                tt.Kill();

当然,这种方法很暴力。良好的程序设计应该是,所有的线程都有条件可以结束循环以退出(包括timer)。在程序退出时触发所有线程的终止条件。

C# WinForm窗体程序退出机制深度解析与最佳实践 本文深度解析C# WinForm窗体程序的退出机制,详细对比了this.Close()、Application.Exit()、Application.ExitThread()和Environment.Exit()四种退出方法的区别与适用场景。针对登录窗体切换、后台线程管理及资源清理等典型问题,提供了实战解决方案与最佳实践,帮助开发者实现程序的优雅退出,避免进程残留与资源泄漏。 阅读详情

相关推荐

C# WinForm程序安全彻底退出方法

本文讲解在C#退出WinForm程序的方法

qq_30725967的博客 2283

c#退出应用程序办法

c#退出应用程序办法:  1、Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵。  2、this.Close();//只是关闭当前窗体。  3、Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口, 也会失灵。  4、Environment.Exit(0); //前面三种方法都不能...

积累点滴,保持自我 3305

RDD2022 数据格式转换与清洗

Rdd2022数据集,是关于道路损伤的数据集,与rdd2020相比增加了两万多张图片但是由于格式不能被yolo直接使用且其中有大量的图片没有符合要求的标注,特写此文章记录数据清洗与格式化的过程。

蓝胖子的博客 9957

C# 退出应用程序的几种方法

C# 退出应用程序的几种方法。

C# 5468

吉林大学软件工程章节测验 第九章 答案+解析

4.【判断题】估算软件规模有代码行技术和功能点技术两种方法,其中代码行方法估计实现一个功能所需要的源程序行数,其不依赖项目所使用的开发语言,并且具有较好的直观性。3.【单选题】软件项目估算时,若计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出功能点估计值,记作a, m, b,则估算的期望值E的公式为( )。8.【判断题】在工程网络图中,如果在由起始事件至终止事件所构成的一条路径上,所有事件的最早时刻都和最迟时刻都相同,那么这条路径就是关键路径。4.【单选题】配置管理贯穿软件开发的整个过程。

m0_51459931的博客 1433

从零到一:基于K375S主控的机械键盘优联无线化改造实战

本文详细记录了基于罗技K375S主控进行机械键盘优联无线化改造的全过程。从改造动机、核心原理与物料准备,到电路设计、PCB打样、焊接调试,逐步拆解了将优联技术集成到自定义机械键盘中的实战步骤。项目最终实现了低延迟、高稳定性且支持多设备连接的优联无线机械键盘,为DIY爱好者提供了高性价比的改造方案。

h0i1j2k3l的博客 601

C#开发的应用程序做退出程序的代码

Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵 this.Close();//只是关闭当前窗体。 Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口。 也会失灵 Environment.Exit(0); //前面三种方法都不能很好的退出程序,此方法可以完全退出程序,这个要

斌哥的博客 1612

完整内、外期货量化交易系统源码可售

支持客户登录校验,支持所有的实时行情和汇总报价功能、实时资讯(报价,列表,分时,分钟成交明晰,),多线程支持盘后收盘作业下载(日线,5分钟线,15分钟, 30分钟,60分钟线,),支持从服务器下载相关运行配置(来自服务器动态配置信息,如收盘日期等),实现状态条显示。收盘作业包括日线、5分钟线、15分钟线、30分钟、60分钟线、2小时线、4小时线每日分时走势。综合信息栏显示用户账户信息、合约信息、当日委托单记录、当日成交记录、当日平仓记录、当日跟单记录、当日(月/周)排行榜、下单栏、持仓信息;

qq_35600909的博客 1805

c#如何退出程序

c#退出应用程序办法有 Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵 this.Close();//只是关闭当前窗体。 Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口。 也会失灵 Environment.Exit(0); //前面三种方法都不能很好的退出程序,

chenkeliang1990的专栏 699

双向晶闸管交流调压基础知识及Multisim电路仿真

本文介绍了双向晶闸管交流调压电路的工作原理及应用。该电路由双向晶闸管、RC移相电路和双向触发二极管组成,通过调节电位器改变触发角实现电压调节。当电位器阻值减小时,触发角减小,输出电压升高;阻值增大时,触发角增大,输出电压降低。Multisim仿真展示了不同电位器档位下的波形特征:0%档位时全导通,50%档位时半导通,100%档位时基本关断。该电路结构简单、调节平滑,广泛应用于调光、调速等场合,但会产生谐波干扰。

XU157303764的博客 838

SCI一区论文投稿终极技巧:Expert Systems With Applications;Knowledge-Based Systems

投稿计算机1区论文(如KBS、ESWA)的核心技巧包括:1)关键词选择需平衡范围与相关性,避免过细或过泛;2)研究内容聚焦单一核心创新点,避免内容分散;3)必须设计消融实验量化创新点的贡献;4)公开实验代码和数据集,确保可验证性;5)合理使用AI工具仅辅助写作,核心内容需自主完成;6)实验数据必须真实可靠。特别强调1区期刊对创新性和实验严谨性的高要求,需避免常见拒稿原因如内容分散、缺乏验证等。这些策略可提高投稿成功率,但前提是研究本身具有实质性创新。

ZhangJiqun&191cm&85kg 1156

Android应用开发完全退出程序的通用方法!!!

大家好,好久不见了,今天给大家分享的是Android应用开发完全退出程序的通用方法,以前我在网上收了几种方法,但都不能通用,比如:任务管理器方法(ActivityManager):首先要说明该方法运行在Android 1.5 - 2.1 才可以(不过蛮好用的撒!),2.2以后就不行了,同时需要加如下权限:用法只有如下两行代码:ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE); am.resta

Android_Tutor的专栏 5万+

手把手教您如何群晖/飞牛NAS等服务器上一键部署洛雪音乐同步服务,手机电脑无缝同步歌单,支持外网访问

🎵 手机电脑歌单不同步?用Docker在群晖/飞牛NAS等服务器上搭个同步服务器, 3分钟搞定 !支持docker-compose一键部署,手机、电脑、平板收藏夹实时同步,外出也能用域名远程访问 ~ ✨

XiaoqiangClub的博客 4608

C# 退出程序的几种方法

C# 退出程序的方法

xiaomianfo的博客 6260

【Altium Designer】Off grid pin解决方法

​今天我画完原理图编译时,出现了太多的黄色(出现warning警告提示)Off grid pin警告,这个警告并不是原理图电气连接出问题了,而是元器件或器件PIN脚没有和栅格对齐造成的原因。再编译还是出现这个警告。 最后经过不断翻阅网上经验和实践,才最终解决,本经验详细记录了解决该警告的有效方法。 解决方案:以下是问题解决步骤... ​

夜半少年的博客 7550

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C#中如何退出程序

 c#退出应用程序办法:   1、Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵。   2、Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口, 也会失灵。   3、Environment.Exit(0); // 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的...

en&ha 2万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C#在Load事件中退出程序

C#在Load事件中退出程序

tqwer的专栏 2094

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C#开发WinForm窗体程序时,如何在子窗体中关闭窗口时并退出程序?

在开发C#WinForm窗体程序时,有没有遇到过,在运行或者调试程序的过程中,明明关闭了子窗口,程序并没有退出来, 我们编辑不了,要手动关闭停止调试或全部中断等操作后,程序才退出来,这样会不会觉得挺烦的? 我就简单的分享一下的经验: 1、首先我们打开子窗口的属性,点击“雷电图标(下图有框着)”找到 FormClosing(或者FormClosed)事件,双击 2、在G

不祈求 ~ ~ 1万+

C#登录窗体代码设计

1.写作原因与解决的问题 需要制作一个管理软件,涉及到登录界面与主界面问题。但是笔者通过阅读发现,大部分资料是用窗体Hide()方法隐藏登录界面进入主界面,这个方法的缺点是,会一直占用资源,于是我想换个思路。之后可以通过擦掉登录窗体进入主窗体,但是在退出,或者点击窗体右上角×按钮,要求效果完全退出程序,但是主界面一闪而过,虽然达到目的,却感觉别扭,强迫症犯了。所以琢磨、并不断尝试,终于得到如下方

明中明 1万+

C#开发的应用程序——退出时需要执行的代码

#开发的各种退出应用程序的代码。并详细介绍了各实现方法的不同点。 Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵 this.Close();//只是关闭当前窗体。 Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口。 也会失灵 Environment.Exit(0); //前面...

qq_43511290的博客 3717

C#如何编写退出程序提示框

1.定义一个页面级变量bool isSaved记录窗体控件值是否保存. 2.在窗体关闭时事件中写如下代码. private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (isSaved == false) { DialogResult dlgRe = MessageBox.Show("文件未保存,是否保...

qq_41892013的博客 2357

C# 关于MessageBox.Show()函数

在C#程序设计中,我们经常会使用到MessageBox.Show()这个函数。由于最近常需要用到,这里就对目前我所使用到关于它的用法,稍微进行一下整理。 第一个功能,退出程序提示: 代码: private void Btn_Exit_Click(object sender, EventArgs e) { if(MessageBox.Show("确定退出?","提示",MessageBox...

pan的博客 2万+

C#中这样退出程序...

//退出C#程序   Application.Exit();

friendan的专栏 944
上一篇: fckeditor在iframe 跨域问题
下一篇: AE中保存Mxd文档的几种方式
eecool
博客等级 码龄18年 1粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值