博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 通过消息捕获处理窗体最大化/最小化
阅读量:7195 次
发布时间:2019-06-29

本文共 1962 字,大约阅读时间需要 6 分钟。

通过以下的一些代码可以实现捕获相关的一些消息事件;

以及可以通过调用 SetCloseMenu();实现关闭一些按钮功能如屏蔽关闭按钮功能等;

需要添加命名空间:using System.Runtime.InteropServices;

private const int WM_SYSCOMMAND = 0x112;        private const int MF_REMOVE = 0x1000;        private const int SC_RESTORE = 0xF120;     //还原           private const int SC_MOVE = 0xF010;   //移动           private const int SC_SIZE = 0xF000;   //大小           private const int SC_MINIMIZE = 0xF020;   //最小化           private const int SC_MAXIMIZE = 0xF030;   //最大化           private const int SC_CLOSE = 0xF060;   //关闭             [DllImport("USER32.DLL")]        public static extern int GetSystemMenu(int hwnd, int bRevert);        [DllImport("USER32.DLL")]        public static extern int RemoveMenu(int hMenu, int nPosition, int wFlags);              private void SetCloseMenu()        {            int hMenu = GetSystemMenu(this.Handle.ToInt32(), 0);//移除关闭按钮            RemoveMenu(hMenu, SC_CLOSE, MF_REMOVE);           }             ///         ///         ///         ///         protected override void WndProc(ref Message m)        {            switch (m.Msg)            {                case WM_SYSCOMMAND:                    switch (m.WParam.ToInt32())                    {                        case SC_MINIMIZE:                            base.WndProc(ref m);                            //捕获最小化消息                            break;                        case SC_RESTORE:                            base.WndProc(ref m);                            //捕获还原消息                            break;                        case SC_MAXIMIZE:                            base.WndProc(ref m);                            //捕获最大化消息                            break;                        default:                            base.WndProc(ref m);                            break;                    }                    break;                default:                    base.WndProc(ref m);                    break;            }        }
View Code

 

转载地址:http://zotkm.baihongyu.com/

你可能感兴趣的文章
installp 软件的4种状态
查看>>
定时清理clientmqueue目录垃圾文件防止占满磁盘空间
查看>>
计算将一个十进制整数转换成二进制含多少个1
查看>>
Flex 当鼠标悬停在DataGrid某行上时用datatoolField显示当前行
查看>>
关于Integer包装类对象之间值的比较
查看>>
7.4 括号匹配
查看>>
nginx + fastDFS 设置开机自动启动
查看>>
Redis.py客户端的命令总结【一】
查看>>
AlertDialog错误
查看>>
Tiling 简单递推+大数
查看>>
iOS开发UI篇—Quartz2D使用(绘制基本图形)
查看>>
java web servlet
查看>>
几个博客
查看>>
v4l2
查看>>
JS倒计时
查看>>
(new Function("return " + json))();
查看>>
mscrm 4.0 报表服务器报错
查看>>
SVM原理简介
查看>>
TLV----Demo讲解
查看>>
Mermaid js与流程图、甘特图..
查看>>