C#中的事件也是通过封装系统消息来实现的,如果你在WndProc函数中不处理该消息

那么,它会被交给系统来处理该消息,系统便会通过代理来实现鼠标单击的处理函数,因此你可以通过

WndProc函数来拦截消息

  1. protected override void WndProc(ref Message m)
  2. {
  3. const int WM_SYSCOMMAND = 0x0112;
  4. const int SC_CLOSE = 0xF060;
  5. if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
  6. {
  7. // 屏蔽传入的消息事件
  8. this.WindowState = FormWindowState.Minimized;
  9. return;
  10. }
  11. base.WndProc(ref m);
  12. }
  13. protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
  14. {
  15. int WM_KEYDOWN = 256;
  16. int WM_SYSKEYDOWN = 260;
  17. if (msg.Msg == WM_KEYDOWN | msg.Msg == WM_SYSKEYDOWN)
  18. {
  19. switch (keyData)
  20. {
  21. case Keys.Escape:
  22. this.Close();
  23. break;
  24. }
  25. }
  26. return false;
  27. }

最新文章

  1. 10最好用的Node.js工具、插件和资料库
  2. C#中日期记忆日期的格式化,日期格式化说明
  3. linux时间时区设置
  4. "Accepted today?"[HDU1177]
  5. (转)Ubuntu samba配置服务文件包
  6. PRML读书会第二章 Probability Distributions(贝塔-二项式、狄利克雷-多项式共轭、高斯分布、指数族等)
  7. QUnit使用笔记-2同步与异步处理方式
  8. VersionCode和VersionName
  9. 简单的javascript实例二(随页面滚动广告效果)
  10. Sql还原数据库出现3154错误
  11. OSD(On Screen Display )技术(转)
  12. 关于js中单双引号以及转义符的理解
  13. hbase (local mode) remote access
  14. Oracle--配置并保存PL/SQL Developer界面
  15. 一个简单的windows勒索软件分析
  16. 图解Windows 10下Visual Studio Code的下载和安装
  17. axis函数
  18. IDEA 创建Spring MVC项目搭建
  19. 穷举算法和递推算法(Java)
  20. java----IO和NIO的区别

热门文章

  1. 【04】图解JSON
  2. 大数据学习——Hbase
  3. cobbler安装配置(二)
  4. 【Ts 5】Httpclient的应用和封装
  5. poj2431 Expedition优先队列
  6. 九度oj 1011
  7. Mahout0.9安装与配置(完全分布式模式下运行)
  8. 【bzoj4408】[Fjoi 2016]神秘数 主席树
  9. HDU——2473Junk-Mail Filter(并查集删点)
  10. 通过new ClasspathApplicationContext("applicationContext.xml")找不到文件时