C#實(shí)現(xiàn)WinForm捕獲最小化事件的方法
一般來說,雖然Form類沒有提供Minimize的事件,但還是可以通過重載Deactive來實(shí)現(xiàn)WinForm捕獲最小化事件。
實(shí)現(xiàn)方法為:當(dāng)Form失去焦點(diǎn)后,測試WindowState取得Form狀態(tài),若為Minimized既是最小化事件。
本例為最小化后隱藏窗口:
還有種方法更加直接,重載WndProc:
實(shí)現(xiàn)代碼如下:
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; }
希望本文所述實(shí)例對大家C#程序設(shè)計(jì)有所幫助。
- C# Winform實(shí)現(xiàn)捕獲窗體最小化、最大化、關(guān)閉按鈕事件的方法
- C#中winform實(shí)現(xiàn)自動觸發(fā)鼠標(biāo)、鍵盤事件的方法
- WinForm實(shí)現(xiàn)移除控件某個(gè)事件的方法
- winform攔截關(guān)閉按鈕觸發(fā)的事件示例
- winform使用委托和事件來完成兩個(gè)窗體之間通信的實(shí)例
- 解讀在C#中winform程序響應(yīng)鍵盤事件的詳解
- .Net WInform開發(fā)筆記(五)關(guān)于事件Event
- WinForm判斷關(guān)閉事件來源于用戶點(diǎn)擊右上角“關(guān)閉”按鈕的方法
相關(guān)文章
C#中類與結(jié)構(gòu)的區(qū)別實(shí)例分析
這篇文章主要介紹了C#中類與結(jié)構(gòu)的區(qū)別,類與結(jié)構(gòu)是C#初學(xué)者比較輕易混淆的概念,本文加以實(shí)例說明,需要的朋友可以參考下2014-08-08WCF基礎(chǔ)介紹并創(chuàng)建簡單應(yīng)用程序
這篇文章介紹了WCF基礎(chǔ)并創(chuàng)建簡單WCF應(yīng)用程序,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01c# WPF設(shè)置軟件界面背景為MediaElement并播放視頻
這篇文章主要介紹了c# WPF如何設(shè)置軟件界面背景為MediaElement并播放視頻,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03C#影院售票系統(tǒng)畢業(yè)設(shè)計(jì)(1)
這篇文章主要介紹了C#影院售票系統(tǒng)畢業(yè)設(shè)計(jì),獻(xiàn)上了9個(gè)類的設(shè)計(jì),需要的朋友可以參考下2015-11-11C#采用mouse_event函數(shù)實(shí)現(xiàn)模擬鼠標(biāo)功能
這篇文章主要介紹了C#模擬鼠標(biāo)點(diǎn)擊小功能,通過代碼向大家做分析,需要的朋友可以參考下2015-07-07