事情是這樣,為了自己使用方便,就順手寫了一個看網絡電視的程序。程序最小化到系統托盤中,這樣在看網絡電視的時候,就可以隨時打開,隨時切換,比較方便,呵呵。
以前在Visual C++編程環境裡,編寫一個這樣的系統托盤程序,應該說比較復雜,還要自己添加消息處理函數。而在C#中,這一切就變得非常的容易了。下面是簡單步驟。
為程序添加兩個主要控件,NotifyIcon控件和ContextMenu控件;
為ContextMenu設置Menu菜單和相應菜單的Click事件;
為控件NotifyIcon的屬性Icon添加一個icon圖標,並為它的ContextMenu行為選中添加的ContextMenu作為上下文菜單;
設置窗體屬性ShowInTask=false,設置窗體的Windowstate為Minimized;
在主窗體的InitializeComponent()方法中添加事件代碼 this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged) 然後添加如下的SizeChanged事件代碼
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState==FormWindowstate.Minimized)
{
this.Hide();//隱藏主窗體
this.notifyIcon1.Visible=true;
}
} this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged) 然後添加如下的SizeChanged事件代碼
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState==FormWindowstate.Minimized)
{
this.Hide();//隱藏主窗體
this.notifyIcon1.Visible=true;
}
}
{
if (this.WindowState==FormWindowstate.Minimized)
{
this.Hide();//隱藏主窗體
this.notifyIcon1.Visible=true;
}
}
這樣程序啟動以後,就自動的最小化到系統托盤了,在托盤圖標上面單擊右鍵,就顯示出ContextMenu的菜單。