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.        }  
    让人迷茫的原因只有一个,那就是在本该拼搏的年龄,却想的太多,做的太少!!!
  • 相关阅读:
    源代码的下载和翻译
    Git使用入门
    搭建Andriod开发环境
    Andriod系统移植与驱动开发概述
    直观打印二叉树
    深度优先遍历图(DFS)
    《UNIX网络编程 卷1 套接字联网API》(第三版)阅读笔记----2018.5.22
    C/C++
    实现具有getMin功能的栈
    用两个栈来模拟一个队列
  • 原文地址:https://www.cnblogs.com/liujiaknowledge/p/5035682.html
Copyright © 2011-2022 走看看