最近在设计一个WinForm程序的时候遇到一个bug,就是From1窗体的关闭事件中设置了e.Cancle设置成true,导致系统无法关机重启,windows7 和windows xp都是这样。

我这里设计的是当用户点击窗体的叉叉,不关闭窗体,而是最小化窗体,但当系统重启的时候,发现无关关机重启了,这里的解决办法是通过判断CloseReason的枚举值,来搞清楚到底是用户自己关闭或是系统引起的窗体关闭。关键代码如下:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//当用户点击叉叉的时候,如果不是由系统关机引起的,那么就最小化窗体
if (e.CloseReason != CloseReason.WindowsShutDown)
{
e.Cancel = true; this.WindowState = FormWindowState.Minimized;
}else
{
e.Cancel = false;
}
}

 

在菜单中,另外写代码实现窗体关闭退出。

private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
notifyIcon1.Visible = false;
this.Close();
this.Dispose();
Environment.Exit(0); }

这样,既可以让自己的窗体点击叉叉的时候最小化,而又不至于阻断系统的关机重启。

在Closing事件中,将e.Cancle设置成true,则Windows无法关机和重启系统的解决办法的更多相关文章

  1. XP系统中IIS访问无法显示网页,目前访问网站的用户过多。终极解决办法

    无法显示网页 目前访问网站的用户过多. -------------------------------------------------------------------------------- ...

  2. Xamarin中VS无法连接Mac系统的解决办法

    Xamarin中VS无法连接Mac系统的解决办法 按照以下步骤排查:(1)确认Mac系统中安装Xamarin.iOS开发必备的组件,如Mono.Xamarin.iOS.(2)将Windows和Mac下 ...

  3. Fiddler设置代理后,iphone手机无法访问网络的全面解决办法

    好久不抓手机包,都有些忘记了,电脑上软件都在,原本是Fiddler4,现在已自动升级到V5. 入主题吧,首先Fiddler设置好代理,然后手机安装证书好了,设置手机代理,结果iphone无法访问网络, ...

  4. 关于ligerui 中 grid 表格的扩展搜索功能在远程数据加载时无法使用的解决办法

    要想使用grid里的扩展搜索功能,除了要引用ligerui主要的js文件外,还必须引入下面的JS文件: 1.Source\demos\filter\ligerGrid.showFilter.js 2. ...

  5. Eclipse中利用JSP把mysql-connector-java-8.0.13.jar放到WebContent\WEB-INF\lib中连接MySQL数据库时Connection conn = DriverManager.getConnection(url,username,password)报错的解决办法

    开发环境: 1.系统:windows 7/8/10均可 2.jdk:1.8.0_144 3.服务器:apache-tomcat-9.0.8 4.IDE:eclipse+jsp 0.网页代码如下: &l ...

  6. 转:在eclipse中 使用7.0及以上手机进行测试时logcat不打印日志的解决办法

    解决办法 替换ADT中的ddmlib.jar文件. 下载ADT对应的zip包,解压出ddmlib.jar文件 放到eclipse\configuration\org.eclipse.osgi\bund ...

  7. .NET中TextBox控件设置ReadOnly=true后台取不到值的解决方法

    在.NET 2.0 下,当页面上的某个TextBox 设置了属性ReadOnly="True"时,通过客户端脚本给其赋值后,在后台代码中访问其Text属性却无法获得该值.经过尝试, ...

  8. .NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法

    当TextBox设置了ReadOnly=true后要是在前台为控件添加了值,后台是取不到的,值为空,多么郁闷的一个问题经过尝试,发现可以通过如下的方式解决这个问题.感兴趣的朋友可以了解下 当TextB ...

  9. .NET中TextBox控件设置ReadOnly=true后台取不到值 三种解决方法

    方法一:不设置ReadOnly属性,通过onfocus=this.blur()来模拟,如下: <asp:TextBox ID="TextBox1" runat="s ...

随机推荐

  1. ssh-keygen使用

    ssh-keygen 作用就是验证主机和用户公钥加密 值得注意的是passphrase选项询问 是对自身密钥的保护,因为在ssh通信前,密钥是不受保护的,如果填来的话通常会使用aes256-cbc的对 ...

  2. Nginx管理(一)

    一.Nginx介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. 1.Nginx历史和特性 Nginx是由伊戈尔·赛索耶夫为俄罗斯 ...

  3. dataBinding与ListView及事件

    2015年Google IO大会分布了DataBinding库,能够更快捷便利的实现MVVM结构模式.但是,通过对DataBinding的学习,其中踩过得坑,今天要在这里记录一下.对于DataBind ...

  4. 如何使用CSS隐藏滚动条并且兼容大部分浏览器

    隐藏滚动条,已经自己实测在浏览器Chrome, IE (6+), Firefox, Opera, Safari. 如下demo: Content 1 Content 1 Content 1 Conte ...

  5. SharePoint 2010配置PDF文件全文检索

    一.安装Adobe PDF 64 bit IFilter version 9合Adobe Reader 9下载地址: http://www.adobe.com/support/downloads/de ...

  6. OpenSUSE 内核编译教程 (kernel 2.6.x)

    http://cn.opensuse.org/OpenSUSE_%E5%86%85%E6%A0%B8%E7%BC%96%E8%AF%91%E6%95%99%E7%A8%8B_(kernel_2.6.x ...

  7. March 18 2017 Week 11 Saturday

    When you feel like quitting, think about why you started. 当你想放弃时,想想你为什么开始. When I heard of the messa ...

  8. Wi-Fi

    AP就是一个无线的交换机,提供无线信号发射接收的功能 Wi-Fi是一种可以将个人电脑.手持设备(如PDA.手机)等终端以无线方式互相连接的技术 两个不一样的东西,无法比较的 你说的应该是无线路由器和无 ...

  9. 用unoreder_map实现词频统计

    博客写在CSDN了,google了一下移植真的巨麻烦.... 这里贴个网址算了.... https://blog.csdn.net/z1991998920/article/details/796891 ...

  10. 设计模式——观察者模式(ObserverPattern)

    观察者模式(ObserverPattern):观察者模式又称发布-订阅(Publish/Subscribe)模式,定义了一个中一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状 ...