const int WM_SYSCOMMAND = 0x112;
//窗体关闭消息
const int SC_CLOSE = 0xf060;
//窗体最小化消息
const int SC_MINIMIZE = 0xf020;
//窗体最大化消息
const int SC_MAXIMIZE = 0xf030;
//窗体还原消息
const int SC_NOMAL = 0xf120;
//窗体还原消息
const int SC_RESTORE = ; //窗体按钮的拦截函数
protected override void WndProc(ref Message m)
{ if (m.Msg == WM_SYSCOMMAND)
{
//If m.WParam.ToInt32() = SC_RESTORE Then
// '拦截还原按钮
// Exit Sub
//End If if (m.WParam.ToInt32() == SC_NOMAL)
{
//拦截还原按钮 return;
}
//if (m.WParam.ToInt32() == SC_MINIMIZE)
//{
// //拦截最小化按钮
// //这里写操作代码 // return;
//}
if (m.WParam.ToInt32() == SC_MAXIMIZE)
{
//拦截窗体最大化按钮
//..................... return;
} //窗体关闭消息
if (m.WParam.ToInt32() == SC_CLOSE)
{
if (MessageBox.Show("您确认要退出吗?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
System.Environment.Exit(System.Environment.ExitCode);
}
else
{
return;
} }
}
base.WndProc(ref m); } }

VB

  Const WM_SYSCOMMAND As Integer = &H112
Const SC_CLOSE As Integer = &HF060 '窗体关闭消息
Const SC_MINIMIZE As Integer = &HF020 '窗体最小化消息
Const SC_MAXIMIZE As Integer = &HF030 '窗体最大化消息
Const SC_NOMAL As Integer = &HF120 '窗体还原消息
Const SC_RESTORE As Integer = '窗体还原消息 '窗体按钮的拦截函数
Protected Overrides Sub WndProc(ByRef m As Message) If m.Msg = WM_SYSCOMMAND Then
'If m.WParam.ToInt32() = SC_RESTORE Then
' '拦截还原按钮
' Exit Sub
'End If If m.WParam.ToInt32() = SC_NOMAL Then
'拦截还原按钮 Exit Sub
End If
If m.WParam.ToInt32() = SC_MINIMIZE Then
'拦截最小化按钮
'这里写操作代码 Exit Sub
End If
If m.WParam.ToInt32() = SC_MAXIMIZE Then
'拦截窗体最大化按钮
'..................... Exit Sub
End If
'拦截双击标题栏、移动窗体的系统消息
If m.Msg <> &HA3 AndAlso m.Msg <> &H3 AndAlso m.WParam <> &HF012 Then
MyBase.WndProc(m)
End If If m.WParam.ToInt32() = SC_CLOSE Then Exit Sub End If
End If
MyBase.WndProc(m) End Sub

最小化、最大化、关闭按钮不显示

this.ControlBox = false;   // 设置不出现关闭按钮

Winform 拦截最小化、最大化、关闭事件【整理】的更多相关文章

  1. Winform 基础二 最小化 最大化 关闭 点击任务栏隐藏显示 点击鼠标左键移动窗体

    一 最大化 二 最小化 三 关闭 四 点击任务栏隐藏显示 五 点击鼠标左键移动窗体 六 阴影效果鼠标左键移动窗口 #region UI设置 最大化.最小化.关闭.鼠标移动窗口.点击任务栏切换窗口 th ...

  2. iPhone手机解锁效果&&自定义滚动条&&拖拽--Clone&&窗口拖拽(改变大小/最小化/最大化/还原/关闭)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)

    转自<JS实现漂亮的窗口拖拽效果(可改变大小.最大化.最小化.关闭)>:http://www.jb51.net/article/73157.htm   这篇文章主要介绍了JS实现漂亮的窗口 ...

  4. delphi -----(去掉窗口最大化,最小化、关闭),主窗口,和子窗口之间的设置

    一.去掉窗口最大化,最小化.关闭 borderIcons:biSystemMenu:false borderStyle:bsSizeable 二.主子窗口 主main: //调用子窗体procedur ...

  5. Delphi模拟最小化恢复关闭按纽

    https://yq.aliyun.com/wenji/96083 本文讲的是Delphi模拟最小化恢复关闭按纽, 我们做多文档应用程序开发时,如果在主From中指定mainMenu时,在主菜单上右角 ...

  6. C# winForm启动最小化到任务栏右侧通知栏并交互操作

    原文链接:http://blog.sina.com.cn/s/blog_45eaa01a01013u36.html C# winForm启动最小化到任务栏右侧通知栏并交互操作 一.主要功能:(1).程 ...

  7. C# WinForm窗口最小化到系统托盘

    * C# WinForm窗口最小化到系统托盘http://hi.baidu.com/kfxtgtqyapouyze/item/8ccfdcd5a174a7312a35c7c3 主要功能:(1).程序启 ...

  8. C# 实现WinForm窗口最小化到系统托盘代码,并且判断左右鼠标的事件

    1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小 ...

  9. C# 隐藏最大化、最小化和关闭三个按钮

    在Windows的窗体编程中,基本上每一个窗体都是一个最小化.最大化和关闭按钮的. 一.禁用最大化和最小化 对于最大化和最小化按钮,在C#窗体开发时,各一个属性来启用或禁用这两个按钮. this.Ma ...

随机推荐

  1. iOS本机生成证书请求文件流程

    第一步:苹果机上打开“Finder”,选择“应用程序”,双击打开“实用工具” 第二步:在“实用工具”中,选“择钥匙串访问”,双击打开 第三步: “钥匙串访问”打开,看到如下页面 第四步:选择菜单中“钥 ...

  2. IOS 应用中从竖屏模式强制转换为横屏模式

    在 iPhone 应用里,有时我们想强行把显示模式从纵屏改为横屏(反之亦然),CocoaChina 会员 “alienblue” 为我们提供了两种思路 第一种:通过人为的办法改变view.transf ...

  3. Oracle 经典语法(四)

    1. 各个部门平均.最大.最小工资.人数,按照部门号升序排列.SELECT deptno AS 部门号,AVG(sal) AS 平均工资 ,MAX(sal) AS 最高工资,MIN(sal)  AS ...

  4. some smart

    1.ca.laplanete.mobile.pageddragdropgridhttps://github.com/mrKlar/PagedDragDropGridPagedDragDropGrid ...

  5. C#读取shp的属性信息

    一个完整的ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表文件.主文件是一个直接存取,变记录长度文件,其中每个记录描述一 个由其顶点列表组成的shape.在索引文件中,每条记录 ...

  6. web.config里面使用configSource

    在asp.net中如果修改了配置文件web.config以后,会导致应用程序重启,所有回话(session)丢失掉,在 .NET Framework 2.0 以后的版本中,可以在一个单独文件中包括所有 ...

  7. 自定义View(二)ViewPage广告轮播

    自定义View的第二个学习案例,使用ViewPage实现广告轮播,通过组合现有的View实现效果如下: 有关ViewPage使用可以学习谷歌官方API,和训练案例: 1.使用ViewPage实现屏幕滑 ...

  8. MySQL Server 5.5安装中遇到的问题及解决方法

    之前开始用师兄用过的电脑工作,各种不适应,开始重新搭建自己习惯的环境,重装MySQL就是其中一项,然后重装过程中遇到了问题,具体情况总结如下: 1.以前也重新安装过MySQL,但是完全没有用过就直接卸 ...

  9. iOS 通过tag查找控件

    //比如创建一个UIImageView到view上 UIImageView *imageView = [[UIImageView allc] init]; imageView.tag = 10001; ...

  10. DynamicObject数据包操作

    DynamicObject的结构非常简单明了,就是一个字典,类似于一个Dictionary<string, object>,其中的object可能是一个简单值(普通字段),可能是一个复杂值 ...