Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮

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

作者头像
跟着阿笨一起玩NET
发布于 2018-09-19 07:54:34
发布于 2018-09-19 07:54:34
2.9K00
代码可运行
举报
运行总次数:0
代码可运行

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

 程序代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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); 
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-10-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WinForm 最大化、最小化、关闭按钮事件的拦截
private int WM_SYSCOMMAND = 0x112; private long SC_MAXIMIZE = 0xF030; private long SC_MINIMIZE = 0xF020; private long SC_CLOSE = 0xF060; protected override void WndProc(ref Message m) {     if (m.Msg == WM_SYSCOMMAND)     {         if (m.WParam.ToInt64() =
跟着阿笨一起玩NET
2018/09/18
1.4K0
C# 主界面的扁平化
  此处分为两个步骤,第一步是更改winform自带的MainForm窗体属性,第二步是添加窗体事件。
zls365
2020/08/19
9530
WinForm 界面美化
添加最小化、退出事件的按钮,背景色BackColor和字体色Forecolor设置为与界面颜色较为搭配的,将按钮的FlatStyle设置为Popup,它会自己随着界面风格调整
全栈程序员站长
2022/08/24
2.2K0
WinForm 界面美化
再议Windows消息与WinForm事件
在2月份的时候,我之前曾经写过一篇关于Windows消息与C# WinForm事件机制的文章,名为《WinForm事件与消息》。在那篇文章中,我简单探讨了一下事件和消息。然而如今看来,当时的文章中的案例在运行上存在一定的问题,并且内容也有所缺陷,于是本文将重新优化文章的内容。
w4ngzhen
2023/10/18
3030
WinForm事件与消息
Windows下应用程序的执行是通过消息驱动的。所有的外部事件,如键盘输入、鼠标移动、按动鼠标都由OS系统转换成相应的“消息”,进入到应用程序的消息队列中,由应用程序引擎轮询处理。在C#中,消息被应用程序的工作引擎通过轮询等方式遍历获取并按照消息的类型逐个分发到对应的组件(例如窗体、按钮等),最后调用对应组件所注册的事件进行处理。
w4ngzhen
2023/10/18
3700
C# winform ——界面美化技巧
关于C#界面美化的一些小技巧 在不使用第三方控件如 IrisSkin 的前提下,依然可以对winform做出让人眼前一亮的美化
vv彭
2021/03/08
5.8K0
C# winform ——界面美化技巧
Win32 最简单的窗口模板和常用的5个消息参数使用示例
返回参数 wParam:具体点击的位置,如 SC_CLOSE 关闭 lParam:鼠标光标位置 LOWORD(lParam); //水平位置 HIWORD(lParam); //垂直位置
独元殇
2023/03/16
1.1K0
【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体
上述窗体是指WebBrowser所在的Form,基本上,上述目的就是让该窗体表现得像个正常浏览器而已。
AhDung
2018/09/13
1.1K0
Excel用户窗体中添加最小化按钮及窗体最小化的代码实现
文章背景:用户窗体是Excel中的UserForm对象。在使用UserForm时,曾经目前遇到过两个问题。
Exploring
2022/08/10
2.5K0
Excel用户窗体中添加最小化按钮及窗体最小化的代码实现
Winform注册和注销全局快捷键
本文转载:http://www.cnblogs.com/scottckt/archive/2007/12/03/981105.html
跟着阿笨一起玩NET
2018/09/18
1.7K0
winform去掉右上角关闭按钮
一种方法是可以在窗体的属性面板将窗体的 ControlBox属性设置为false,或者在窗体的构造函数中这样写:
全栈程序员站长
2022/07/15
1.3K0
opengl NENE 教程第一课代码
// setup.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <windows.h> // Windows的头文件 #include <gl/glew.h> // 包含最新的gl.h,glu.h库 #include <gl/glut.h> // 包含OpenGL实用库 #pragma comment(lib, "opengl32.lib") #pragma
流川疯
2019/01/18
1.8K0
flash在C#中的应用
很多光盘上的程序,比如电脑迷光盘,开头总有一段动画,用来展现企业品牌和LOGO之用。这个动画是Flash做的,而且嵌入到程序中简直做到无缝融合,因为右键点击它也不会有那特有而烦人的Flash右键菜单。
SAP梦心
2022/05/07
1.8K0
vb.net_一个半成品
Imports System.Text Imports System.Runtime.InteropServices Public Class Form1 '引用win32api进行枚举窗体句柄操作 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr Pri
landv
2018/05/24
8370
(十九)c#Winform自定义控件-停靠窗体
GitHub:https://github.com/kwwwvagaa/NetWinformControl
冰封一夏
2019/09/11
7860
opengl_NeNe 第九课,移动图像代码.vs 2010_express OPENGL 2.0
// NeNe_lesson_object.cpp : Defines the entry point for the console application. // // NeNe_lesson2.cpp : Defines the entry point for the console application. // // setup.cpp : Defines the entry point for the console application. // #include "stdafx.h
流川疯
2019/01/17
1.4K0
使用鼠标
C语言Windows程序设计 -> 第十一天 -> 使用鼠标 鼠标的使用同样是通过获取Windows鼠标消息来获取用户当前的鼠标状态的。 一、鼠标的介绍     鼠标是计算机的输入设备之一, 在图形化的操作系统上, 鼠标的使用使一些复杂的操作变得简单, 随着科技的进步, 鼠标的种类也越来越多, 按接口类型可分为串行鼠标、PS/2鼠标、总线鼠标、USB鼠标(多为光电鼠标)四种。按其工作原理及其内部结构的不同可以分为机械式,光机式和光电式。     这里我们不讨论鼠标的硬件构造, 更多关于鼠标的硬
猿人谷
2018/01/17
2.8K0
使用鼠标
JavaScript事件随想
最近想学习下web前端,原因是这样的,当前中国(公元2018年)的网络环境,表现形式基本是web+移动端,像微信的小程序只要写js应该就可以了,移动端的app很多也是以web的形式展示,应用程序内是html+css+js,不仅方便发布,而且做起来也快,写完页面样式,更新资源,就好了,类似热更
changan
2020/11/04
5080
【C#】分享一个可携带附加消息的增强消息框MessageBoxEx
--------------201806111122更新---------------
AhDung
2018/09/13
2K0
【C#】分享一个可携带附加消息的增强消息框MessageBoxEx
【读书笔记】Windows程序设计5
与从BeginPaint函数返回的设备句柄不同,从GetDC返回的设备句柄中的裁剪区域是整个客户区,而不仅仅
zhang_derek
2022/12/21
2.5K0
相关推荐
WinForm 最大化、最小化、关闭按钮事件的拦截
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验