zoukankan      html  css  js  c++  java
  • 捕获winform的最小化,最大化,关闭事件

    因为项目需要在winform关闭的时候,处理一些程序,在满足条件后,则关闭对话框。winform好像没有处理最大化,最小化相关的事件,这里借用网上的一段代码,对这些事件进行捕获

    const int WM_SYSCOMMAND = 0x112;  
    const int SC_CLOSE = 0xF060;
    const int SC_MINIMIZE = 0xF020;
    const int SC_MAXIMIZE = 0xF030;
    const int SC_RESTORE = 61728;
    //窗体按钮的拦截函数
    protected override void WndProc(ref Message m)
    {
        if (m.Msg == WM_SYSCOMMAND)
        {
            if (m.WParam.ToInt32() == SC_RESTORE)
            {

                log.Info("窗口还原!");
            }
            if (m.WParam.ToInt32() == SC_MINIMIZE)  //拦截最小化按钮
            {
                //这里写操作代码
                log.Info("点击最小化按钮!");
            }
            if (m.WParam.ToInt32() == SC_MAXIMIZE )   //拦截窗体最大化按钮
            {
                log.Info("点击最大化按钮!");
                 //.....................
            }
            if (m.WParam.ToInt32() == SC_CLOSE)       //拦截窗体关闭按钮
            {
                
                log.Info("点击窗口关闭按钮!");
            }


        }
        base.WndProc(ref m);

    }
     

     

     这里的前提需要确定事件对应的m.WParam是多少,这里有个小方法,在该程序处打断点,调试应用程序的时候,点击最小化,最大化等按钮,程序就到到断点处,你查看该值是多少,就可了。

     参考:

     http://www.cnblogs.com/zhouyinhui/archive/2007/01/12/619175.html

  • 相关阅读:
    50个SQL语句(MySQL版) 问题六
    50个SQL语句(MySQL版) 问题五
    50个SQL语句(MySQL版) 问题四
    50个SQL语句(MySQL版) 问题三
    50个SQL语句(MySQL版) 问题二
    50个SQL语句(MySQL版) 问题一
    50个SQL语句(MySQL版) 建表 插入数据
    相邻元素margin的自动合并与float的坑
    STL之list
    你真的会用搜索吗?—— google 搜索技巧
  • 原文地址:https://www.cnblogs.com/estival/p/2244266.html
Copyright © 2011-2022 走看看