Winform捕获窗口关闭按钮触发的事件
2016-08-18 22:21
821 查看
在C#的WinForm程序中,有的时候需要判定关闭请求从哪里发出来的。比如是用户点击了右上角的“关闭”按钮,还是调用了WinForm.Close()方法。最典型的是要知道点击右上角的“关闭”按钮发出的事件。下面这个方法可以判断这点:
程序代码
winuser.h在线源码地址:
http://www.verysource.com/code/6978762_1/winuser.h.html
程序代码
protected override void WndProc(ref Message msg) { //Windows系统消息,winuser.h文件中有WM_...的定义 //十六进制数字,0x是前导符后面是真正的数字 const int WM_SYSCOMMAND = 0x0112; //winuser.h文件中有SC_...的定义 const int SC_CLOSE = 0xF060; if (msg.Msg == WM_SYSCOMMAND && ((int)msg.WParam == SC_CLOSE)) { // 点击winform右上关闭按钮 // 加入想要的逻辑处理 // 改关闭效果为最小化 this.WindowState = FormWindowState.Minimized; return;//阻止了窗体关闭 } base.WndProc(ref msg); }
winuser.h在线源码地址:
http://www.verysource.com/code/6978762_1/winuser.h.html
相关文章推荐
- C# Winform 拦截关闭按钮触发的事件
- C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,可通过重写WndProc来实现
- C# Winform 拦截关闭按钮触发的事件
- C# Winform 捕获窗体的最小化和最大化事件、关闭按钮事件 .
- winform拦截关闭按钮触发的事件示例
- [转] C# Winform 拦截关闭按钮触发的事件
- C# Winform 拦截关闭按钮触发的事件
- C# Winform 捕获窗体的最小化和最大化事件、关闭按钮事件【整理】
- c#winform关闭窗口时触发的事件
- C# winform一个窗口按钮触发另一个窗口的load事件
- C# Winform 捕获窗体的最小化和最大化事件、关闭按钮事件
- javascript捕获窗口关闭事件有两种方法
- 弹出窗口关闭后如何触发父窗口事件 [转帖]
- abap 弹出窗口屏幕(screen)实现关闭右上角的关闭按钮事件
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- ie 下捕获子窗口关闭事件
- javascript捕获窗口关闭事件有两种方法
- JavaScript 捕获窗口关闭事件
- C# Winform 拦截关闭按钮触发的事件
- 重写窗口关闭触发事件