1. 程式人生 > >C#實現WinForm捕獲最小化事件的方法

C#實現WinForm捕獲最小化事件的方法

ora web 創建 align window nbsp param tle bds

一般來說,雖然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#泛型類創建與使用的方法技術分享圖片
c#操作sql server2008 的界面實例代碼技術分享圖片C#微信公眾號開發 微信事件交互技術分享圖片淺談C#中ToString()和Convert.ToString()的區別
技術分享圖片C#基於WebBrowser獲取cookie的實現方法技術分享圖片C#實現將數據導出到word或者Excel中的方法技術分享圖片C#導出Excel的方法技術分享圖片C#驗證給定字符串是否為數字的方法

C#實現WinForm捕獲最小化事件的方法