C# Event Bindings on notifyIcon not working write
<p>I am working on a Desktop app for my company and can't seem to get this code to work as far as the MouseClickEvent binding on the notifyIcon.MouseClickEvent. Here is the code, overall insight on what to do would be helpful. I did have Program : ApplicationContext at one point and changed it Program : Form. This is a stupid newbie error, but I just don't do very much C# programming and have been fighting / reading code for about two days now and can't seem to figure this out. Please help me suck less. :-)</p>

<pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Drawing;
using System.IO.Pipes;
using System.Security.Principal;
using System.Xml.Serialization;
using System.IO;
using System.Collections;

namespace ShipItClient
{
    public class Program : Form
    {


        private NotifyIcon notifyIcon;

        private Program()
        {
            SetupTray();
            ListenForSignal();
        }

        protected void notifyIcon_Click(object Sender, MouseEventArgs e)
        {
            MessageBox.Show("Double Click");
            CustomQuoteForm quoteForm = new CustomQuoteForm();
            quoteForm.Show();
        }

        private void SetupTray()
        {
            // Create the NotifyIcon.
            notifyIcon = new System.Windows.Forms.NotifyIcon();

            notifyIcon.MouseClick += new MouseEventHandler(notifyIcon_Click);

            notifyIcon.Icon = ShipItClient.Properties.Resources.ShipIt4Sage;

            notifyIcon.Text = "ShipIt - Shipping Rate Quotes on Demand";
            notifyIcon.Visible = true;

        }

        private void ListenForSignal()
        {
            String username = WindowsIdentity.GetCurrent().Name;
            String pipeName = "shipit_" + username.Split('\\')[1];

            NamedPipeClientStream pipeClient =
                    new NamedPipeClientStream(".", pipeName,
                        PipeDirection.InOut, PipeOptions.None);

            pipeClient.Connect();

            while (pipeClient.IsConnected)
            {
                if (pipeClient.ReadByte() == 1)
                {

                    string[] shipit_files = Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "XML_*.xml");

                    foreach (String file in shipit_files)
                    {
                        string xml = File.ReadAllText(file);


                        XmlSerializer serializer = new XmlSerializer(typeof(ShipIt));
                        ShipIt ship_it = (ShipIt)serializer.Deserialize(new StringReader(xml));

                        //Get ShipIt Quote Window
                        RateGrid rateGrid = new RateGrid();
                        //rateGrid.Visibility = System.Windows.Visibility.Visible;
                        File.Delete(file);

                    }

                }
            }

        }

        private void GetCarrierRates(ShipIt ship_it)
        {
            FedExRates fedexRates = new FedExRates(ShipItClient.Properties.Settings.Default.FedEx_Account_Number, ShipItClient.Properties.Settings.Default.FedEx_Meter_Number, ShipItClient.Properties.Settings.Default.FedEx_Service_Key, ShipItClient.Properties.Settings.Default.FedEx_Service_Password);
            ArrayList rates = fedexRates.GetRate(ship_it);   
        }

        [STAThread]
        public static void Main()
        {
            Program pg = new Program();
            Application.Run(pg);
        }

    }
}
</code></pre>
