C#winform让用户点击关闭按钮时不允许关闭窗体
2011-10-29 15:24
281 查看
/// <summary>
/// 用户点击关闭按钮,重写窗体接收信息处理函数
/// </summary>
/// <param name="msg"></param>
protected override void WndProc(ref Message msg)
{
const int WM_SYSCOMMAND = 0x112;//命令操作
const int SC_CLOSE = 0xF060;//命令类型
if (msg.Msg == WM_SYSCOMMAND && (int)msg.WParam == SC_CLOSE)
{
if (MessageBox.Show("不能直接关闭该窗口,缩小到任务栏中吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
//this.notifyIcon.Visible = true;
//this.Hide();
if (isSizeChanged != null)
{
isSizeChanged();
}
this.ShowInTaskbar = false;
this.notifyIcon.Visible = true;
this.Hide();
}
else
{
}
return;
}
//如果不是我们要拒接的消息,我们就让窗体处理
base.WndProc(ref msg);
}
/// 用户点击关闭按钮,重写窗体接收信息处理函数
/// </summary>
/// <param name="msg"></param>
protected override void WndProc(ref Message msg)
{
const int WM_SYSCOMMAND = 0x112;//命令操作
const int SC_CLOSE = 0xF060;//命令类型
if (msg.Msg == WM_SYSCOMMAND && (int)msg.WParam == SC_CLOSE)
{
if (MessageBox.Show("不能直接关闭该窗口,缩小到任务栏中吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
//this.notifyIcon.Visible = true;
//this.Hide();
if (isSizeChanged != null)
{
isSizeChanged();
}
this.ShowInTaskbar = false;
this.notifyIcon.Visible = true;
this.Hide();
}
else
{
}
return;
}
//如果不是我们要拒接的消息,我们就让窗体处理
base.WndProc(ref msg);
}
相关文章推荐
- VB6.0实现点击窗体的系统最小化或关闭按钮将窗体最小化到系统托盘区
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- c# winform 让Form窗体上系统自带的红色关闭按钮失效,点击关闭变为隐藏
- C# 窗体点击关闭按钮时最小化到托盘
- 动态修改AlearDialog 中的按钮 和不允许点击按钮关闭窗口
- Java中实现用户点击关闭窗口按钮后提示用户,选择“是”后退到父窗口,选择“否”留在原窗口
- Form窗体点击关闭按钮并未关闭进程的解决方法
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- cad关闭时获取用户点击了是还是否保存文件按钮。
- 学习 Message(21): WM_SYSCOMMAND 消息[五] : 点击关闭按钮让窗体最小化
- C#中winform中区分Close()和点击窗体右上角关闭按钮来关闭窗体
- 点击关闭按钮弹出对话框确认是否关闭窗体
- .NET WinForms中点击窗体右上角的关闭按钮后的事件处理
- c# WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- Form窗体点击关闭按钮并未关闭进程的解决方法
- [Win32]只允许最大化最小化窗口,禁止双击标题栏、拖动窗体、点击复原按钮来改变窗口大小
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- c# winform 让Form窗体上系统自带的红色关闭按钮失效,点击关闭变为最小化