public partial class Form1 : Form
{
public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e)
{
notifyIcon1 = new NotifyIcon(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 (WindowState == FormWindowState.Minimized)
{
ShowInTaskbar = false;
notifyIcon1.Visible = true;
}
}
private void notifyIcon1_Click(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
WindowState = FormWindowState.Normal;
Activate();
notifyIcon1.Visible = false;
ShowInTaskbar = true;
}
}
NotifyIcon、設定圖示、預設隱藏。SizeChanged 偵測最小化:隱藏工作列圖示(ShowInTaskbar=false)、顯示托盤圖示。NotifyIcon.Click:還原視窗狀態、激活視窗、隱藏托盤圖示、恢復工作列圖示。圖示檔 icon.ico 需置於輸出目錄(bin/Debug)。