如何关闭窗体、线程、应用程序?

ROS2前置基础教程 | 小鱼教你用CMake依赖查找流程 上面我们用g++、make、cmake三种方式来编译ros2的C++节点。用cmake虽然成功了,但是CMakeLists.txt的内容依然非常的臃肿,我们需要将其进一步的简化。将上面的CmakLists.txt改成下面的样子 接着继续生成和编译 是不是非常的神奇,为什么可以浓缩成那么短的几句指令呢?find_package查找路径对应的环境变量如下。 打开终端,输入指令: 结果 观察PATH变量,你会发现赫然在其中,中的路径如果以或结尾,则自动回退到上一级目录,接着检查这些目录下的 cmake找到这些目录 阅读详情

关闭窗体:

this.close();

备注:如果调用启动窗体的close()方法,就会结束应用程序

----------------------------------------------------------------

结束当前线程:

调用Application.ExitThread方法

----------------------------------------------------------------

结束应用程序:

调用Application.Exit方法:结束所有处在运行状态的进程,并关闭应用程序的所有窗口。

备注:不一定强制结束应用程序,该方法一般是在消息列队中调用,强制Application.Run返回。

该方法引发下列事件:

每个以OpenForms属性表示的窗体都会引发FormClosing事件,找到Form的FormClosing事件,把这个方法关联上就可以了

               // Display a MsgBox asking the userto save changes or abort.
                if (MessageBox.Show("Doyou want to save changes to your text?", "My Application",
                  MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    // Cancel the Closing event from closing theform.
                    e.Cancel= true;

                }

如果是一个或多个处理例程取消事件,就会传回Application.Exit而不再执行进一步动作。否则,每一个处于活动状态的窗体都会引发FormClosed事件,然后关闭所有正在运行的消息循环和窗体。

《嵌入式最全面试题-Offer直通车》目录 嵌入式领域蓬勃发展,嵌入式工程师成为众多科技企业争抢的热门人才。如果你渴望在嵌入式面试中脱颖而出,成功斩获心仪的 offer,那么《嵌入式最全面试题 - Offer直通车》将是你的绝佳选择。本专栏是优快云是热门专栏,100多篇文章,总字数过百万。每月新增订阅用户过百,现在是优惠价9.9元,后面要逐渐恢复原价,早订阅早受益。本专栏精心整理了众多超万字的精华内容,总计达数十万字的嵌入式面试题总结。涵盖从嵌入式基础知识到各大厂面试真题,从驱动开发到操作系统,从硬件到软件等各个方面。 阅读详情

相关推荐

电网渗透之终端安全

        电力系统安全不仅关系到电网的稳定运行,也关系到国家能源安全和国计民生,甚至关系到国家的安全和利益,电力系统由于结构复杂多样、分布广泛、重要性高,一旦系统瘫痪影响巨大,因此,极容易成为敌对势力攻击的首选目标。随着信息安全暴露面迅速增加,将给公司网络安全防线带来严峻挑战。       监控、保障这些电力系统安全运行变的尤为重要。内部安全防护产品有防火墙、纵向加密、反向隔离设备等...

guapi007008的博客 2722

C# 使用多线程,在关闭窗体时 怎么关闭窗体的所有线程,使程序退出。

this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出; Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出; Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题; System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干...

996

Pixel 4/4 XL 刷机小白必看:Magisk Root 全流程详解(附电信网络适配技巧)

本文为Pixel 4/4 XL用户提供了一份详尽的Magisk Root全流程指南。从解锁Bootloader、刷入Magisk,到解决电信网络VoLTE适配问题,再到隐藏Root以通过银行App检测,手把手教你安全获取系统最高权限并优化日常使用体验。

weixin_29310605的博客 269

超威主板关闭超线程教程

说明:在使用超威主板的服务器的时候发现,关闭超线程要比开启超线程性能表现优越一些,服务器超线程默认是开启的,故而需要关闭超线程的服务。

华青水上的博客 1万+

算法面试准备 - 手撕系列第五期 - 单头注意力机制(包括Self_atten和Cross_atten)

算法面试准备 - 手撕系列第五期 - 单头注意力机制(包括Self_atten和Cross_atten)

m0_62030579的博客 3609

元数据及数据仓库相关概念

文章目录元数据(metadata)的概念Data about Data定义技术元数据业务元数据总结数据仓库ODS简单的理解为 Operational Data Store, 运营数据仓储 数据整合层(也叫做数据缓冲层)EDW简单理解为 Enterprise Data Warehouse, 企业数据仓库ODS与EDW之间的差异使用角色数据来源数据获取性能和及时性数据架构数据共享能力数据系统提供应用数...

frone的专栏 3139

C#在使用多线程的时,关闭窗体,怎么关闭所有线程,使程序彻底退出

C#在使用多线程的时,关闭窗体,怎么关闭所有线程,使程序彻底退出 this.Close();仅仅只是关闭当前窗体,若不是主窗体无法退出程序,如果有托管线程(非主线程),也关闭不了 Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出 Application.ExitThread(); 强制中止调用线程上的所有消息,...

weixin_45547854的博客 3514

Abaqus仿真进阶:如何准确计算气动软体机器人的抓取力(Blocking Force分析)

本文详细介绍了使用Abaqus进行气动软体机器人抓取力(Blocking Force)分析的进阶技巧。从材料模型验证、刚性目标物选择到接触对建立和充气加载优化,提供了一套完整的有限元仿真解决方案,帮助工程师准确预测软体执行器的抓取性能。

weixin_42528902的博客 402

C# 关闭登录窗体,进入主窗体后,主窗体关闭,程序进程仍在运行的问题

有许多人在用做c# 做登录窗体时会遇到这样的问题,登录成功后当前登录Form关闭,打开Main窗体,但Main窗体点关闭按钮后程序仍在进程仍旧在运行。     事实上,关闭Main窗体,只是关闭了Main窗体的线程,并没有关闭程序的主线程,即程序的主线程为登录From。     有些人会采用这样的做法:      MainForm mainForm=new MainForm();

飞龙在天 2283

点云入门笔记(一):点云数据及获取

点云概念: 点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标 X,Y,Z、颜色、分类值、强度值、时间等等。

wc19862274581的博客 2万+

LIN总线从入门到精通:低成本汽车通信协议原理与实战

在汽车电子和嵌入式系统中,串行通信协议是实现分布式控制的关键技术。其中,LIN(Local Interconnect Network)总线作为一种专为低成本应用设计的单主多从网络协议,其核心原理在于通过简化的“领导-汇报”通信模式,在满足车身控制、传感器数据采集等场景需求的同时,将硬件与布线成本降至最低。LIN总线采用标准化的帧结构,包含间隔场、同步场和受保护标识符场,并依赖调度表来管理通信时序,确保了网络的确定性与可靠性。其技术价值在于为车窗、座椅、灯光等非安全关键系统提供了高性价比的解决方案,是构建分层

weixin_29185167的博客 261

C# 窗体退出后关闭线程的代码

重载OnClosing函数        protected override void OnClosing(CancelEventArgs e)         {             // 这里写关闭窗体要执行的代码             if (myThread != null)             {                 if (myThread.IsA

Walter的专栏 4520

基于YOLOv11的工业装配完整性智能检测系统

在现代工业生产中,产品质量控制是确保企业竞争力的关键环节。其中,装配完整性检查——即检测产品是否安装了所有应有的部件,是质量检测中的重要一环。传统的人工检测方法存在效率低、易疲劳、主观性强等问题。本文提出了一种基于深度学习的目标检测算法YOLOv11的工业装配完整性智能检测系统,通过计算机视觉技术自动识别和验证产品装配的完整性。本文将详细阐述从数据准备、模型训练到系统部署的完整流程,提供可执行的代码实现,并介绍一个适用于该任务的参考数据集。

YOLO 554

C# Winfroms 关闭窗体问题

 Application.ExitThread(); //关闭应用程序线程上的所有窗体。并关闭线程 Application可以管理应用程序的启动和停止      private void SearchFrom_FormClosing(object sender, FormClosingEventArgs e) //关闭窗体事件        ...{            if (Messag

生活要快乐 - 魏言 1139

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

测试窗体关闭后线程是否关闭 2021-09-24

先创建线程,向某ip某端口持续发送报文,然后点击关闭窗体,代码设置10s延迟彻底关闭。观察是否继续发送报文。结过是会继续发报文,总结:Application.Exit()并不能释放线程,必须要Environment.Exit(0)才能彻底释放线程。 代码: using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.Windows.Fo

qq_39344392的博客 242

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C# Windows Forms编程 各类关闭退出窗口窗体方式 实用总结

在Windows Forms程序设计中,经常遇到窗口关闭的情形,本篇介绍如下几种实用窗口关闭方式以及退出方式。 1.使用Close()函数this.Close(); 关闭当前窗口,如果当前窗口不是主窗口(Application.Run(new Form1());例如这里的Form1就是主窗口),则无法完全退出。如果是主窗口,而且没有其他线程的话,就会退出应用程序。2.使用Application.E

旋墨 博客 4114

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

c# 关闭程序

1this.Close();//关闭当前窗体或对象23Application.Exit();//关闭所有应用程序窗口45 如果启动了多线程,就需要用下面的方法来关闭了 c#通过Application.Exit();无法退出单独开启的线程 通过 Environment.Exit(0); 可以解决问题。 下面的方法,也是关闭的,仅供参考 ...

diben1401的博客 185

C# 关闭窗体立即停止进程

C# 关闭窗体立即停止进程 C#在关闭窗体的时候,有时线程还在后台执行,没有及时退出。 处理方案:   为Form添加FormClosing事件,加入以下语句,在退出时,杀死本进程。    System.Diagnostics.Process.GetCurrentProcess().Kill(); 转载于:https://www.cnblogs.com/huazaizai/...

adjcqbb47379的博客 249

C#关闭窗体后发生的事件,关闭所有运行的线程

private void frmMain_FormClosing(object sender, FormClosingEventArgs e)//关闭窗体时发生的事件,关闭所有线程 { System.Environment.Exit(0);//关闭所有线程 }

cuibaoming的博客 518

pyqt5窗体关闭后子线程不同时退出问题的解决

用pyqt5设计了一个主窗体,在窗体运行时需要把一个无限循环放在一个线程去工作。运行后,发现通过鼠标按主窗体的关闭按键关闭主创体后,线程不会自动终止,依然在运行。尽管对我的使用场景来说,这不是问题,因为立马就关机了。但在调试阶段就恨繁,因为后台线程很占资源。怎么能让主窗体关闭是子线程也退出呢?百度了许久,很多方法都不行。主要试过的有:1、设置:self.thread.Daemon=True2、在子...

weixin_42192419的博客 1万+

winform打开新窗体关闭旧窗体

项目需求,程序的主页面不关闭,当点击流程页面时候弹出新窗体,关闭旧窗体。利用委托实现了这个需求,直接上代码旧窗体(Form3窗体)中代码:private void button1_Click(object sender, EventArgs e) { //this.Hide();隐藏旧窗体 //Form4 f = new Form4(...

Jakie_Zhan的博客 4341

wpf利用线程制作初始界面和关闭窗体特效

1.首先定义初始窗体,和主窗体。   初始窗体(StartWindow) 主窗体(MainWindow): 2.在主窗体界面中,加载初始窗体。注意在线程中操作UI元素需要使用BeginInvoke或者Invoke方法。    StartWindow start; public MainWindow() { ...

weixin_33726318的博客 238

只在用户登陆时运行_关于winform如何如在关闭一个窗口时打开另外一个窗口

我们在做winform时会有一个非常常见的功能,比如有一个专门用来登陆的窗体,一般来说登陆的窗体点击登陆后会关闭当前登陆的这个窗体打开程序的主窗体。如果直接想的话就会写出private 新手的一般会这么想,但是实际运行后发现当执行到this.Close()的时候整个应用程序就会结束。这是因为窗体应用程序是使用windows消息会话在当前线程运行的你当前窗体。实际上在运行winfor...

weixin_39627665的博客 231

C# Windows 窗体编程入门详解

通过学习 WinForms 框架的开发技术,你会发现很多乐趣,可以实现自己真正想要的各种 Web 无法实现的功能,实现各种桌面工具。从中领略开发带来的快乐和成就。

张赐荣的技术博客 7089

写winform_关于winform如何如在关闭一个窗口时打开另外一个窗口

我们在做winform时会有一个非常常见的功能,比如有一个专门用来登陆的窗体,一般来说登陆的窗体点击登陆后会关闭当前登陆的这个窗体打开程序的主窗体。如果直接想的话就会写出private void btnLogin_Click(object sender,EventArgs e) { this.Close(); MainForm mf = new MainForm(); ...

weixin_42378973的博客 2170

.net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法

<br />.net类库已经帮助我们实现了窗口的关闭,如果此窗口是系统的主窗口,关闭此窗口即应该退出了整个应用程序。<br />但事实上有时候并不是这样的,关闭窗口,只是停止了当前窗口的消息循环。<br />系统主窗口,实质上是Main函数中开始消息循环的窗口,这个消息循环结束后,Main函数就基本上完成了历史使命,整个应用程序自然就结束了。<br />Application.Exit()方法是终止所有线程上的消息循环,一般情况下,无论在什么地方调用此方法,程序就能退出。<br />但是如果你在程序中加入了

maysaber 618
上一篇: 如何生成可执行exe文件?
下一篇: 什么是面向对象的程序设计语言?
又一颗葱
博客等级 码龄20年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值