zoukankan      html  css  js  c++  java
  • C# Winform 捕获窗体的最小化和最大化事件、关闭按钮事件【整理】

    之前做过一些窗体最小化之后隐藏窗体到右下角托盘的程序,一般就几个事件和属性的处理:程序启动不显示在任务栏,点击最小化后隐藏到右下角的托盘,点击托盘图标可以弹出程序界面。(具体怎样做读者可以自行搜索,因为都大同小异我就不写了)

    但是最近在做一个程序的时候遇到一个问题,最小化之后虽然不显示在任务栏,但是窗体却缩小到屏幕的左下角,结果还是不能实现真正的隐藏。

    可是我找出以前写的一些程序来看,运行没问题啊,最小化不会缩小到屏幕左下角啊,代码也是一样的啊,难道~~又是人品问题 - -!

    目前用以前的方法仍无法解决这个问题,期待高手解答....

    好了,于是我又去搜了一些资料,就是下面这块代码了,完美解决,于是开始研究WndProc这个东东...

    const int WM_SYSCOMMAND = 0x112;
    const int SC_CLOSE = 0xF060;
    const int SC_MINIMIZE = 0xF020;
    const int SC_MAXIMIZE = 0xF030;
    protected override void WndProc(ref Message m)
    {
        if (m.Msg == WM_SYSCOMMAND)
        {
            if (m.WParam.ToInt32() == SC_MINIMIZE) //是否点击最小化
            {
    
                //这里写操作代码
                this.Visible = false; //隐藏窗体
                return;
            }
    
    
            if (m.WParam.ToInt32() == SC_MAXIMIZE )
    
            { //..................... }
    
           
    
            if (m.WParam.ToInt32() == SC_CLOSE )
    
            {   //.....................}
    
    
        }
        base.WndProc(ref m);
    }
    
    //这个功能是 捕获最小化按钮事件 ,隐藏当前窗体.
    
  • 相关阅读:
    疫情控制
    2020 CSP-J 多校赛 Day 2 T2 题解
    三校联考-水题狂欢信心赛
    QBXT 提高组储备营 2020.夏 游记
    【题解】(我出的题)XM捡面筋
    【题解】P4025 [PA2014]Bohater
    【题解】1644:【例 4】佳佳的 Fibonacci
    【题解】CF1165F2 Microtransactions (hard version)
    P2261 [CQOI2007]余数求和
    OVO——扶咕咕的20道CF
  • 原文地址:https://www.cnblogs.com/linyc/p/1996298.html
Copyright © 2011-2022 走看看