c# 程式最小化到系統托盤

來源:互聯網
上載者:User
   用過千千靜聽的都知道該軟體能夠最小化到右下角的系統托盤中。最近我做了個小工具,也要實作類別似功能。就是當點擊某個按鈕或者是快速鍵的時候,程式最小化到系統托盤,再次使用快速鍵該程式還原。
   首先是解決如何最小化到系統托盤並恢複的問題:
   辦法是使用NotifyIcon控制項,該控制項就是最小化後看到的那個按鈕,主要是配置個漂亮的表徵圖:)。程式中加入如下代碼:
   

 1        void MinimizedToNormal()
 2        {
 3            this.Visible = true;
 4            this.WindowState = FormWindowState.Normal;
 5            notifyIcon1.Visible = false;
 6
 7        }
 8        void NormalToMinimized()
 9        {
10            this.WindowState = FormWindowState.Minimized;
11            this.Visible = false;
12            this.notifyIcon1.Visible = true;
13        }

NormalToMinimized()是把當前表單隱藏,並顯示托盤通知按鈕(這個按鈕初始是隱藏的)。
MinimizedToNormal()是重新顯示表單,並把托盤通知按鈕隱藏。

   下面解決如何通過快速鍵控制最小化到系統托盤和恢複的問題,辦法是調用windows api 
   RegisterHotkey()
   UnregisterHotKey()這組api。
   前一個註冊一個系統快速鍵,當點擊該快速鍵的時候可以調用NormalToMinimized()和MinimizedToNormal()進行最小化和恢複工作。
   也可以直接用下面這個壓縮包中的兩個檔案,包含在工程中,這個是老外寫的系統快速鍵控制項。非常方便:)
   /Files/dxfcv222/SystemHotkey.rar
   代碼如下:
 

 1        void systemHotkey1_Pressed(object sender, EventArgs e)
 2        {
 3            if (this.notifyIcon1.Visible)
 4            {
 5                MinimizedToNormal();
 6            }
 7            else
 8            {
 9                NormalToMinimized();
10            }
11        }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.