专栏首页跟着阿笨一起玩NETWinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮

WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮

在C#的WinForm程序中,有的时候需要判定关闭请求从哪里发出来的。比如是用户点击了右上角的“关闭”按钮,还是调用了WinForm.Close()方法。最典型的是要知道点击右上角的“关闭”按钮发出的事件。下面这个方法可以判断这点:

 程序代码

protected override void WndProc(ref Message msg) 
{ 
        const int WM_SYSCOMMAND = 0x0112; 
        const int SC_CLOSE = 0xF060;  
 
         if (msg.Msg == WM_SYSCOMMAND && ((int)msg.WParam == SC_CLOSE)) 
         { 
                 // 点击winform右上关闭按钮 
                 // 加入想要的逻辑处理

                 return;//阻止了窗体关闭
         } 
         base.WndProc(ref msg); 
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一道小小面试题的细节分析

    跟着阿笨一起玩NET
  • 关于DataGridView_DataError事件的问题

    本文转载:http://blog.csdn.net/szstephenzhou/article/details/7834725

    跟着阿笨一起玩NET
  • @@IDENTITY与SCOPE_IDENTITY() 及IDENT_CURRENT 的区别

    本文转载:http://www.cnblogs.com/lovemyth/archive/2007/03/14/674584.html

    跟着阿笨一起玩NET
  • .NET Core第三方开源Web框架YOYOFx

    YOYOFx是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台。

    yoyofx
  • 号外 :20种互联网IT行业明年将大幅涨薪, “数据科学”相关占三分之一

    ---- 招聘和人力资源专家 Robert Half Technology 发布了美国年度科技薪资指南,“数据科学”相关占三分之一,有没有前途,自己想吧! I...

    小莹莹
  • UNPv1第十三章:高级IO

    flag在设计上存在一个基本问题:它是按值传递的,而不是值-结果参数,因此它只能从进程向内核传递标志,内核不能向进程传递标志。

    提莫队长
  • Android Activity的生命周期和启动模式详解

    当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->onDestory()三个方法。

    哲洛不闹
  • R语言进行分析,比较详细的一篇,亲测过哦

    要分析文本内容,最常见的分析方法是提取文本中的词语,并统计频率。频率能反映词语在文本中的重要性,一般越重要的词语,在文本中出现的次数就会越多。词语提取后,还可以...

    学到老
  • SpringBoot开发案例之整合Quartz注入Service

    前段时间做了一个基于SpringBoot和Quartz任务管理系统(脚手架而已),很多功能不是特别完善,由于工作原因,断断续续一直在更新中,码云上有个小伙伴提问...

    小柒2012
  • 严格别名规则“-fstrict-aliasing”和“-fno-strict-aliasing”及类型双关

    “-fstrict-aliasing”表示启用严格别名规则,“-fno-strict-aliasing”表示禁用严格别名规则,当gcc的编译优化参数为“-O...

    一见

扫码关注云+社区

领取腾讯云代金券