程式執行後以最小化的方式執行,即不會出現在工作列上,而會出現在tray裡頭。而在 tray icon 上可以點滑鼠右鍵來彈出功能表單(menu),進行各功能選擇(如結束等)。
In Form1.Designer.cs
namespace SampleProgram { partial class SampleClass { private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SampleClass)); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.notifyiconMnu = new System.Windows.Forms.ContextMenu(); this.menuItem1 = new System.Windows.Forms.MenuItem(); this.SuspendLayout(); // // notifyIcon1 // this.notifyIcon1.ContextMenu = this.notifyiconMnu; this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); this.notifyIcon1.Text = "SBPNotify"; this.notifyIcon1.Visible = true; this.notifyIcon1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseDoubleClick); // // notifyiconMnu // this.notifyiconMnu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem1}); // // menuItem1 // this.menuItem1.Index = 0; this.menuItem1.Text = "EXIT"; this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click); // // SBP // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(592, 373); this.ControlBox = false; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "SBP"; this.ShowInTaskbar = false; this.Text = "ServerBatcherProcess"; this.WindowState = System.Windows.Forms.FormWindowState.Minimized; this.ResumeLayout(false); } private System.Windows.Forms.NotifyIcon notifyIcon1; private System.Windows.Forms.ContextMenu notifyiconMnu; private System.Windows.Forms.MenuItem menuItem1; } }
In Form1.cs
namespace SampleProgram
{
public partial class SampleClass : Form
{
public SampleClass()
{
InitializeComponent();
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.WindowState = FormWindowState.Normal;
this.ShowInTaskbar = true;
}
else if (this.WindowState == FormWindowState.Normal)
{
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
}
// Activate the form.
this.Activate();
}
private void menuItem1_Click(object sender, EventArgs e)
{
//隱藏tray icon
notifyIcon1.Visible = false;
//關閉系統
this.Close();
}
}
}