C#程序如何完整退出 - 综述
来源:互联网 发布:淘宝查询131458 编辑:程序博客网 时间:2024/06/07 09:26
首先介绍下关闭程序所需用到的函数:
this.Close();//关闭当前激活的窗体
Application.Exit();//关闭与程序相关的所有正在运行的进程,并自动调用this.Close()关闭当前激活的窗体,但无法退出单独开启的进程
Application.ExitThread();//释放所有进程
Environment.Exit(0);//可退出单独开启的进程
程序退出方法一:点击button控件退出
程序示例:
双击button即可自动生成的函数button_stop_Click
private void button_stop_Click(object sender, EventArgs e){ try {//此处可填写各种上文所提的方法 this.Close(); } catch (Exception ee) { MessageBox.Show(ee.Message); }}
程序退出方法二:点击右上角红叉退出
注意:直接点击红叉按钮,程序会调用系统函数直接退出,这时可能某些进程仍然没有关闭。故需要对点击红叉按钮添加函数,方法如下:
在vs编辑器中双击主窗体,自动生成private void Form1_Load(object sender, EventArgs e)函数,在函数中添加(当然也可以在窗体初始化中添加)关闭事件句柄,如下
private void Form1_Load(object sender, EventArgs e){//视自己程序需求选择下面四种种的一种或几种句柄 this.Closing += new CancelEventHandler(Form1_Closing); this.FormClosing += new FormClosingEventHandler(Form1_FormClosing); this.Closed += new EventHandler(Form1_Closed); this.FormClosed += new FormClosedEventHandler(Form1_FormClosed); }
然后编写各相应函数:
void Form1_Closing(object sender, CancelEventArgs e){ //this.Close();出错,不能在此调用关闭窗体方法 //Application.Exit();不能关闭单独开启的进程 //Environment.Exit(0);可推出单独开启的进程 MessageBox.Show("closing was sent");}void Form1_FormClosing(object sender, FormClosingEventArgs e){ MessageBox.Show("formclosing was sent");}void Form1_Closed(object sender, EventArgs e){ MessageBox.Show("closed");}void Form1_FormClosed(object sender, FormClosedEventArgs e){ MessageBox.Show("formclosed");}
通过实现上述的方法后,点击红叉按钮可以发现,系统关闭的方法中是按照
Form1_Closing
Form1_FormClosing
Form1_Closed
Form1_FormClosed
从上到下的顺序进行的。故可根据自己需要实现其中一个或者几个的函数,并在其中添加程序关闭时所需函数即可。
- C#程序如何完整退出 - 综述
- c#如何退出程序
- c#如何退出程序
- c#如何退出程序
- Android退出程序问题综述
- 如何完整退出进程
- SWING程序,完整地退出
- Android完全退出程序问题综述
- VC程序退出----如何退出
- C# 强制退出程序
- C# 强制退出程序
- C# 强制退出程序
- C# 强制退出程序
- c#如何强制退出
- vc如何退出程序
- 如何退出android程序
- vc如何退出程序
- 如何完全退出程序
- 【转】SQL学习---数据库设计
- 删除在用临时表
- getopt()和getopt_long()用法
- Linux的root的密码修改
- 不用root在Android上使用busybox
- C#程序如何完整退出 - 综述
- STM32 MDK常见错误与解决
- Oracle 分区表——Range分区
- 错误提示:Caused by: org.hibernate.PropertyNotFoundException: Could not find a getter for ID
- OpenCV_轮廓的查找、表达、绘制、特性及匹配
- C++获取CPU信息应用经验分享
- .net 文件操作移动复制删除等
- 锐捷笔试CountDownLatch
- http://www.cnblogs.com/zhwl/archive/2013/04/15/3022066.html