實作步驟
- 表單加入
NotifyIcon 元件。
- 準備圖示檔
icon.ico 放置於輸出目錄(如 bin\Debug)。
- 程式碼如下:
public partial class Form1 : Form {
public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) {
notifyIcon1 = new NotifyIcon(this.components);
notifyIcon1.Icon = new Icon(Application.StartupPath + @"\icon.ico");
notifyIcon1.Visible = false;
notifyIcon1.Click += NotifyIcon1_Click;
this.SizeChanged += Form1_SizeChanged;
}
private void Form1_SizeChanged(object sender, EventArgs e) {
if (this.WindowState == FormWindowState.Minimized) {
this.ShowInTaskbar = false; // 隱藏工作列按鈕
notifyIcon1.Visible = true; // 顯示托盤圖示
}
}
private void NotifyIcon1_Click(object sender, EventArgs e) {
if (this.WindowState == FormWindowState.Minimized) {
this.WindowState = FormWindowState.Normal;
this.Activate();
}
notifyIcon1.Visible = false;
this.ShowInTaskbar = true;
}
}
關鍵屬性與事件
ShowInTaskbar = false:最小化時隱藏工作列按鈕。
NotifyIcon.Visible:控制托盤圖示顯示/隱藏。
SizeChanged 事件:偵測視窗狀態變化。
NotifyIcon.Click:點擊圖示還原視窗。
進階擴充
- 右鍵選單:為
NotifyIcon 設定 ContextMenuStrip 提供「開啟」、「結束」等選項。
- 氣球提示:使用
ShowBalloonTip 顯示通知訊息。
- 開機自動啟動:寫入登錄
Run 鍵值。