GUI Windows Form C#

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;
   }
  }