C# Winform 捕获窗体的最小化和最大化事件、关闭按钮事件

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

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

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

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

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

01 const int WM_SYSCOMMAND = 0x112;
02 const int SC_CLOSE = 0xF060;
03 const int SC_MINIMIZE = 0xF020;
04 const int SC_MAXIMIZE = 0xF030;
05 protected override void WndProc(ref Message m)
06 {
07     if (m.Msg == WM_SYSCOMMAND)
08     {
09         if (m.WParam.ToInt32() == SC_MINIMIZE) //是否点击最小化
10         {
11   
12             //这里写操作代码
13             this.Visible = false//隐藏窗体
14             return;
15         }
16   
17   
18         if (m.WParam.ToInt32() == SC_MAXIMIZE )
19   
20         //..................... }
21   
22          
23   
24         if (m.WParam.ToInt32() == SC_CLOSE )
25   
26         {   //.....................}
27   
28   
29     }
30     base.WndProc(ref m);
31 }
32   
33 //这个功能是 捕获最小化按钮事件 ,隐藏当前窗体.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值