当前位置:首页 > 计算机相关 > .net专区 > 正文内容

C#的窗体(WinForm)退出杂谈

piikee13年前 (2009-09-24).net专区143
1、Winform点击退出按钮,需要确认再退出:
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("是否确认退出程序?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
//  关闭所有的线程
this.Dispose();
this.Close();
}
else
e.Cancel = true;
}
2、程序退出的方法:
this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
Application.Exit();  强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
System.Environment.Exit(0);   这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。

扫描二维码推送至手机访问。

版权声明:本文由萍客小居发布,如需转载请注明出处。

本文链接:https://www.piikee.net/397.html

分享给朋友:

相关文章

SQL卸载重装遇到实例名重复,实例名删不掉的问题

Sql2005卸载后,在重新安时会碰到以前安装的实例名还在的问题,然后如果自定义实例名一样的话会报错说实例名重复。那么怎样删除以前的那些实例名呢?首先,确认你把所有SQL相关程序都卸载了。然后,删除C:\Program Files\Micr...

C#窗体也有DOCK属性

在一个主窗体里面,放入一个PANEL和一个窗体。然后,里面那个窗体最大化时,会覆盖了PANEL或者被PANEL覆盖。要让里面的窗体最大化时刚好把PANEL剩下的空间填满可以这样做: 把form2.Dock = DockStyle.Fill;...

.net中使用webpart,数据库报错,error:26的解决办法

出错页面如下:“/”应用程序中的服务器错误。--------------------------------------------------------------------------------在与 SQL Server 建立连接...

为DataGridView的一个列加入DateTimePicker控件

由于DataGridView自带的ColumnType里面没有DateTimePicker这个控件。所以要实现一个输入日期的列就比较麻烦了。通过以下方法可以往DataGridView加入DateTimePicker控件。首先,前端设计加入一...

C#下winform和JS的互相调用和传参(webbrowser)

不多说,直接上代码,winform下button1调用js函数,从html页面获取值,然后JS调用WINFORM的函数,传送获取到的值到winform并通过messagebox的方法show出来。一步到位, winform调用JS函数 和J...

正则表达式简介及学习教程下载

正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', '...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。