Mega Code Archive

 
Categories / C# / GUI Windows Form
 

Creating a system tray icon for your application

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;   public class Form1 : System.Windows.Forms.Form   {    private System.Windows.Forms.NotifyIcon notifyIcon1;    private System.Windows.Forms.ContextMenu contextMenu1;    private System.Windows.Forms.MenuItem menuItem1;    private System.Windows.Forms.MenuItem menuItem2;    private System.Windows.Forms.MenuItem menuItem3;    public Form1() {      InitializeComponent();    }    private void InitializeComponent()    {      this.notifyIcon1 = new NotifyIcon(new System.ComponentModel.Container());      this.contextMenu1 = new System.Windows.Forms.ContextMenu();      this.menuItem1 = new System.Windows.Forms.MenuItem();      this.menuItem2 = new System.Windows.Forms.MenuItem();      this.menuItem3 = new System.Windows.Forms.MenuItem();      this.SuspendLayout();      // This line associates the context menu with the icon      this.notifyIcon1.ContextMenu = this.contextMenu1;      this.notifyIcon1.Icon = new System.Drawing.Icon("icon1.ico");      this.notifyIcon1.Text = "Tray Icon";      this.notifyIcon1.Visible = true;      this.contextMenu1.MenuItems.AddRange(new          System.Windows.Forms.MenuItem[] {              this.menuItem1,              this.menuItem2,              this.menuItem3});      this.menuItem1.Index = 0;      this.menuItem1.Text = "Exit";      this.menuItem1.Click += new           System.EventHandler(this.menuItem1_Click);      this.menuItem2.Index = 1;      this.menuItem2.Text = "Hide";      this.menuItem2.Click += new           System.EventHandler(this.menuItem2_Click);      this.menuItem3.Index = 2;      this.menuItem3.Text = "Show";      this.menuItem3.Click += new           System.EventHandler(this.menuItem3_Click);      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);      this.ClientSize = new System.Drawing.Size(504, 365);      this.Name = "Form1";      this.Text = "Form1";      this.ResumeLayout(false);    }    static void Main()    {      Application.Run(new Form1());    }    private void menuItem1_Click(object sender, System.EventArgs e)    {      Close();    }    private void menuItem2_Click(object sender, System.EventArgs e)    {      this.Visible = false;    }    private void menuItem3_Click(object sender, System.EventArgs e)    {      this.Visible = true;    }   }