• 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);
    }
    
    //这个功能是 捕获最小化按钮事件 ,隐藏当前窗体.
    
  • 相关阅读:
    mysql函数
    maven 配置自动本地/线上不同配置自动打包
    maven clean后 编译报错
    htmlunit填坑
    java正则表达式移除网页中注释代码
    spark 计算结果写入mysql 案例及常见问题解决
    pychrome激活
    hadoop集群常见问题解决
    hadoop+spark集群搭建
    C++:构造函数2——拷贝构造函数
  • 原文地址:https://www.cnblogs.com/linyc/p/1996298.html
Copyright © 2020-2023  润新知