zoukankan      html  css  js  c++  java
  • C#WinForm窗体监听/拦截操作动作

    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.   
    6.            if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)  
    7.            {  
    8.                // 屏蔽传入的消息事件   
    9.                this.WindowState = FormWindowState.Minimized;  
    10.                return;  
    11.            }  
    12.            base.WndProc(ref m);  
    13.        }  
    14.   
    15.        protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)  
    16.        {  
    17.            int WM_KEYDOWN = 256;  
    18.            int WM_SYSKEYDOWN = 260;  
    19.   
    20.            if (msg.Msg == WM_KEYDOWN | msg.Msg == WM_SYSKEYDOWN)  
    21.            {  
    22.                switch (keyData)  
    23.                {  
    24.                    case Keys.Escape:  
    25.                        this.Close();  
    26.   
    27.                        break;  
    28.                }  
    29.            }  
    30.            return false;  
    31.        }  
    让人迷茫的原因只有一个,那就是在本该拼搏的年龄,却想的太多,做的太少!!!
  • 相关阅读:
    AJAX原生态编写
    oracle中分页查询
    myeclipse 2014 专业版 安装 svn插件
    List.toArray()用法详解
    数据库语句 select * from table where 1=1 的用法和作用
    setObject()用法
    Golang语言学习笔记(十四)
    Golang语言学习笔记(十三)
    Golang语言学习笔记(十二)
    Golang语言学习笔记(十一)
  • 原文地址:https://www.cnblogs.com/liujiaknowledge/p/5035682.html
Copyright © 2011-2022 走看看