C# Winform 捕獲表單的最小化和最大化事件、關閉按鈕事件【整理】

來源:互聯網
上載者:User

之前做過一些表單最小化之後隱藏表單到右下角托盤的程式,一般就幾個事件和屬性的處理:程式啟動不顯示在工作列,點擊最小化後隱藏到右下角的托盤,點擊托盤表徵圖可以彈出程式介面。(具體怎樣做讀者可以自行搜尋,因為都大同小異我就不寫了)

但是最近在做一個程式的時候遇到一個問題,最小化之後雖然不顯示在工作列,但是表單卻縮小到螢幕的左下角,結果還是不能實現真正的隱藏。

可是我找出以前寫的一些程式來看,運行沒問題啊,最小化不會縮小到螢幕左下角啊,代碼也是一樣的啊,難道~~又是人品問題 - -!

目前用以前的方法仍無法解決這個問題,期待高手解答....

好了,於是我又去搜了一些資料,就是下面這塊代碼了,完美解決,於是開始研究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);}//這個功能是 捕獲最小化按鈕事件 ,隱藏當前表單.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.