C#實現WinForm捕獲最小化事件的方法
阿新 • • 發佈:2017-11-23
ora web 創建 align window nbsp param tle bds
C#實現WinForm捕獲最小化事件的方法
本文地址: http://www.paobuke.com/develop/c-develop/pbk23595.html
C#泛型類創建與使用的方法
c#操作sql server2008 的界面實例代碼
C#微信公眾號開發 微信事件交互
淺談C#中ToString()和Convert.ToString()的區別
C#基於WebBrowser獲取cookie的實現方法
C#實現將數據導出到word或者Excel中的方法
C#導出Excel的方法
C#驗證給定字符串是否為數字的方法
一般來說,雖然Form類沒有提供Minimize的事件,但還是可以通過重載Deactive來實現WinForm捕獲最小化事件。
實現方法為:當Form失去焦點後,測試WindowState取得Form狀態,若為Minimized既是最小化事件。
本例為最小化後隱藏窗口:
還有種方法更加直接,重載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;
}
}
base.WndProc(ref m);
}
private void Form1_Deactivate(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
this.Visible = false;
}
希望本文所述實例對大家C#程序設計有所幫助。
除聲明外,跑步客文章均為原創,轉載請以鏈接形式標明本文地址C#實現WinForm捕獲最小化事件的方法
本文地址: http://www.paobuke.com/develop/c-develop/pbk23595.html
相關內容
C#實現WinForm捕獲最小化事件的方法
