一般我們在開發桌面應用程式儒WPF或Windows Form應用程式時,會設計成不需要常常開起來,而是在背景程序中工作,當有需要的時候透過系統匣的圖示來打開應用程式,在不占用使用者桌面空間的情境下設計應用程式。

 

本篇文章將引導您將應用程式【隱藏】並【縮小到系統匣】,加入【自定義選單】功能。

 

 

會寫這篇文章的原因其實也很清楚明瞭,為了讓應用程式能夠常駐在系統匣待命,

並且可以在背景下默默耕耘工作。

再來這功能也是SUKI很久之前開發專案所用到的功能,在此分享給各位未來國家的棟樑!!

 

透過使用者介面上的控制項來觸發隱藏功能

1

 

按下按鈕後縮小到系統匣

2

 

並自定義選單功能

3

 

再來擊點Icon後,會將隱藏的應用程式回復!

 

4

 

知道工作模式後,直接進入Code :

private void Initial()
{
    notifyIcon = new NotifyIcon();
    //設定通知欄提示的文字
    notifyIcon.BalloonTipText = "Still running";
    //設定通知欄在滑鼠移至Icon上的要顯示的文字
    notifyIcon.Text = "NotifyIcon範例";
    //決定一個Logo
    notifyIcon.Icon = (System.Drawing.Icon)(Properties.Resources.Logo);
    //設定按下Icon發生的事件
    notifyIcon.Click += (sender, e) => {
        //取消再通知欄顯示Icon
        notifyIcon.Visible = false;
        //顯示在工具列
        this.ShowInTaskbar = true;
        //顯示程式的視窗
        this.Show();
    };
 
    //設定右鍵選單
    //宣告一個選單的容器
    ContextMenu contextMenu = new ContextMenu();
    //宣告選單項目
    MenuItem notifyIconMenuItem1 = new MenuItem();
    //可以設定是否可勾選
    notifyIconMenuItem1.Checked = true;
    //在NotifyIcon中的頁籤,順序用
    notifyIconMenuItem1.Index = 1;
    //設定顯示的文字,後面的(S&)代表使用者按S鍵也可以觸發Click事件!
    notifyIconMenuItem1.Text = "項目一(S&)";
    //設定按下後的事情
    notifyIconMenuItem1.Click += (sender, e) => {
        MessageBox.Show("項目一 按下囉!!");
    };
    //將MenuItem加入到ContextMenu容器中!
    contextMenu.MenuItems.Add(notifyIconMenuItem1);
    //設定notifyIcon的選單內容等於剛剛宣告的選單容器ContextMen;
    notifyIcon.ContextMenu = contextMenu;
 
        
 
}
//隱藏按鈕按下
private void button1_Click(object sender, EventArgs e)
{
    //讓程式在工具列中隱藏
    this.ShowInTaskbar = false;
    //隱藏程式本身的視窗
    this.Hide();
    //通知欄顯示Icon
    notifyIcon.Visible = true;
 
    //通知欄提示 (顯示時間毫秒,標題,內文,類型)
    notifyIcon.ShowBalloonTip(1000, "這是標題", "這是內文", ToolTipIcon.Info);
}

 

如此一來我們就可以透過按鈕或其他自定義的事件中,將視窗隱藏並縮小到系統匣中。

並在系統匣的Icon上點選右鍵出現自定義的選單。

 

References : NotifyIcon 類別

 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
http://www.sukitech.com/?p=936
轉載請註明出處,並且附上本篇文章網址 !  感謝。

2 Thoughts on “C# Windows Form 開發,將應用程式【隱藏】並【縮小到系統匣】,加入【自定義選單】功能。

  1. 産後のお母さんは子育てや家の仕事で大変です。
    寝不足、夜中の授乳、育児のストレスなど夫には理解できないと思います。
    そのような時、お風呂場でたくさん自分の抜け毛を見ると
    悲しくなります。
    はじめはビックリするかもしれません。
    抜け毛が酷くて頭の地肌が見えたら頭の中が混乱する事も
    あることでしょう。
    でも、出産後の抜け毛はどんなママでも経験しています。
    なのでそう心配しなくても大丈夫です。
    でも、ケアをしないと後で取り返しのつかない事になるかもしれません。
    出産後の抜け毛ケアはしっかりこまめに行いましょう。

  2. Undeniably bеliеve that which you said. Your favorite justification seemed to be on the net the easiest thing to
    be aware of. I say to you, I definitely get annoyed while pеoρle consider worries tһat tһey plainly
    don’t know about. You managed tо hit tһe nail upon the top and also
    defined out the whole thing without having side effect , people
    can taҝe a signal. Will likely ƅe back to get more.
    Thanks

發表迴響

你的電子郵件位址並不會被公開。

Post Navigation