C#中winform中区分Close()和点击窗体右上角关闭按钮来关闭窗体
2013-09-03 09:27
519 查看
在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);
}
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);
}
相关文章推荐
- c# winform 让Form窗体上系统自带的红色关闭按钮失效,点击关闭变为隐藏
- c# winform 让Form窗体上系统自带的红色关闭按钮失效,点击关闭变为最小化
- C#之WinForm基础 运行多个窗体时,点击按钮,一次关闭所有窗体
- C#之WinForm基础 点击button关闭当前窗体,用this.close()
- c# WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- Delphi 拦截/封锁 点击窗体右上角 最小化 最大化 层叠 关闭 按钮
- C# WinForm开发 取消窗体关闭按钮(整理)
- C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,可通过重写WndProc来实现
- c# winform取消右上角关闭按钮的实现方法
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- 【技术积累】【C#】Disable Windows窗体右上角的关闭按钮
- C# Winform 禁用窗体关闭按钮
- c# winform取消右上角关闭按钮的实现方法
- C# Winform 捕获窗体的最小化和最大化事件、关闭按钮事件【整理】
- winform 点击窗体右上角“X”关闭窗体但不释放资源并跳到上一个界面
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- WinForm判断关闭事件来源于用户点击右上角“关闭”按钮的方法
- C#中Winform窗体Form的关闭按钮变灰色的方法
- 重写c# winform窗体关闭按钮