Winform 拦截最小化、最大化、关闭事件【整理】
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 拦截最小化、最大化、关闭事件【整理】的更多相关文章
- Winform 基础二 最小化 最大化 关闭 点击任务栏隐藏显示 点击鼠标左键移动窗体
一 最大化 二 最小化 三 关闭 四 点击任务栏隐藏显示 五 点击鼠标左键移动窗体 六 阴影效果鼠标左键移动窗口 #region UI设置 最大化.最小化.关闭.鼠标移动窗口.点击任务栏切换窗口 th ...
- iPhone手机解锁效果&&自定义滚动条&&拖拽--Clone&&窗口拖拽(改变大小/最小化/最大化/还原/关闭)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
转自<JS实现漂亮的窗口拖拽效果(可改变大小.最大化.最小化.关闭)>:http://www.jb51.net/article/73157.htm 这篇文章主要介绍了JS实现漂亮的窗口 ...
- delphi -----(去掉窗口最大化,最小化、关闭),主窗口,和子窗口之间的设置
一.去掉窗口最大化,最小化.关闭 borderIcons:biSystemMenu:false borderStyle:bsSizeable 二.主子窗口 主main: //调用子窗体procedur ...
- Delphi模拟最小化恢复关闭按纽
https://yq.aliyun.com/wenji/96083 本文讲的是Delphi模拟最小化恢复关闭按纽, 我们做多文档应用程序开发时,如果在主From中指定mainMenu时,在主菜单上右角 ...
- C# winForm启动最小化到任务栏右侧通知栏并交互操作
原文链接:http://blog.sina.com.cn/s/blog_45eaa01a01013u36.html C# winForm启动最小化到任务栏右侧通知栏并交互操作 一.主要功能:(1).程 ...
- C# WinForm窗口最小化到系统托盘
* C# WinForm窗口最小化到系统托盘http://hi.baidu.com/kfxtgtqyapouyze/item/8ccfdcd5a174a7312a35c7c3 主要功能:(1).程序启 ...
- C# 实现WinForm窗口最小化到系统托盘代码,并且判断左右鼠标的事件
1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小 ...
- C# 隐藏最大化、最小化和关闭三个按钮
在Windows的窗体编程中,基本上每一个窗体都是一个最小化.最大化和关闭按钮的. 一.禁用最大化和最小化 对于最大化和最小化按钮,在C#窗体开发时,各一个属性来启用或禁用这两个按钮. this.Ma ...
随机推荐
- Line in和Mic in的区别及使用
Line in和Mic in的区别及使用 我们的电脑声卡上,一般都会有Line in和Mic in两个接口,翻译成中文就是“线性输入”和“麦克风输入”,这两个都是输入端口,但是还是有区别的: 1.Li ...
- 乐观锁(optimistic locking)与悲观锁(pessimistic locking)
首先,乐观锁(optimistic locking)与悲观锁(pessimistic locking)基本是针对数据处理来说,也就是跟数据库有关的术语,目的是为了解决并发处理时所遇到的相关性能问题,以 ...
- Localizing WPF with .resx files
WPF用Resource.resX中的字符串进行国际化 增加命名空间 xmlns:prop="clr-namespace:XXAppName.Properties" 引用的地方的格 ...
- Traveling by Stagecoach 状态压缩裸题
Traveling by Stagecoach dp[s][v] 从源点到达 v,状态为s,v的最小值. for循环枚举就行了. #include <iostream> #inclu ...
- android中的一些问题
1. Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚 ...
- 【Java的JNI快速学习教程】
1. JNI简介 JNI是Java Native Interface的英文缩写,意为Java本地接口. 问题来源:由于Java编写底层的应用较难实现,在一些实时性要求非常高的部分Java较难胜任(实时 ...
- 【原创】利用C++ RAII技术自动回收堆内存
[说明]这篇文章本来发布在我个人网站的博客上,但由于:1,打算以cnblogs为家了:2. 关于智能指针部分需要修订,所有将修订版发在这里,作为第一篇文章. 常遇到的动态内存回收问题 在C++的编程过 ...
- Rsync文件同步
Rsync文件同步 本章结构 关于rsync 1.一款增量备份工具,remote sync,远程同步,支持本地复制或者与其他SSH.rsync主机同步,官方网站:http://rsync.samba. ...
- itunes connect提交app教程
.打开itunes connect登陆之后,选择Manage Your Apps,再选Add New App: .填写项目相关信息,不知道怎么填的点击问号查看: Bundle ID Suffix需要和 ...
- Application Loader上传app时报错:the bundle identifier cannot be changed from the current value
报错如图: 解决:用info.plist中的bundle identifier生成发布证书(Distribution),如图: