C#WinForm窗体监听/拦截操作动作
2024-08-30 11:09:16
C#中的事件也是通过封装系统消息来实现的,如果你在WndProc函数中不处理该消息
那么,它会被交给系统来处理该消息,系统便会通过代理来实现鼠标单击的处理函数,因此你可以通过
WndProc函数来拦截消息
- protected override void WndProc(ref Message m)
- {
- const int WM_SYSCOMMAND = 0x0112;
- const int SC_CLOSE = 0xF060;
- if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
- {
- // 屏蔽传入的消息事件
- this.WindowState = FormWindowState.Minimized;
- return;
- }
- base.WndProc(ref m);
- }
- protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
- {
- int WM_KEYDOWN = 256;
- int WM_SYSKEYDOWN = 260;
- if (msg.Msg == WM_KEYDOWN | msg.Msg == WM_SYSKEYDOWN)
- {
- switch (keyData)
- {
- case Keys.Escape:
- this.Close();
- break;
- }
- }
- return false;
- }
最新文章
- 10最好用的Node.js工具、插件和资料库
- C#中日期记忆日期的格式化,日期格式化说明
- linux时间时区设置
- ";Accepted today?";[HDU1177]
- (转)Ubuntu samba配置服务文件包
- PRML读书会第二章 Probability Distributions(贝塔-二项式、狄利克雷-多项式共轭、高斯分布、指数族等)
- QUnit使用笔记-2同步与异步处理方式
- VersionCode和VersionName
- 简单的javascript实例二(随页面滚动广告效果)
- Sql还原数据库出现3154错误
- OSD(On Screen Display )技术(转)
- 关于js中单双引号以及转义符的理解
- hbase (local mode) remote access
- Oracle--配置并保存PL/SQL Developer界面
- 一个简单的windows勒索软件分析
- 图解Windows 10下Visual Studio Code的下载和安装
- axis函数
- IDEA 创建Spring MVC项目搭建
- 穷举算法和递推算法(Java)
- java----IO和NIO的区别
热门文章
- 【04】图解JSON
- 大数据学习——Hbase
- cobbler安装配置(二)
- 【Ts 5】Httpclient的应用和封装
- poj2431 Expedition优先队列
- 九度oj 1011
- Mahout0.9安装与配置(完全分布式模式下运行)
- 【bzoj4408】[Fjoi 2016]神秘数 主席树
- HDU——2473Junk-Mail Filter(并查集删点)
- 通过new ClasspathApplicationContext(";applicationContext.xml";)找不到文件时