public void CreateNotifyIcon(IMenuItemParams[] items, string text)
 {
     var appIcon = ToPixbuf(Resources.logo);
     this.trayIcon = new StatusIcon(appIcon)
     {
         Visible = true,
         Tooltip = text
     };
     this.trayIcon.Activate += delegate
     {
         ShowMainMenu(items);
     };
     this.trayIcon.PopupMenu += (o, e) =>
         {
         ShowMainMenu(items);
     };
 }
        public void CreateNotifyIcon(IMenuItemParams[] items, string text)
        {
            notifyIcon = new NotifyIcon
            {
                Icon = optionsForm.Icon,
                Visible = true,
                ContextMenuStrip = CreateContextMenu(items),
                Text = text
            };
            ShowBalloonTipInfo(Application.ProductName, notifyIcon.Text);

            notifyIcon.DoubleClick +=
                delegate
                {
                    if (optionsForm.Visible)
                    {
                        optionsForm.Hide();
                    }
                    else
                    {
                        optionsForm.Open();
                    }
                };
        }
        private static void ShowMainMenu(IMenuItemParams[] items)
        {
            var popupMenu = new Menu();

                var subitems = GetList(items, null);
                foreach (var subitem in subitems)
                {
                    popupMenu.Add(subitem);
                }

                popupMenu.Show();
                popupMenu.Popup();
        }
        private static ContextMenuStrip CreateContextMenu(IMenuItemParams[] items)
        {
            var contextMenuStrip = new ContextMenuStrip();
            var list = GetList(items, null);
            contextMenuStrip.Items.AddRange(list);

            contextMenuStrip.Opening += ((sender, e) =>
            {
                foreach (ToolStripItem item in contextMenuStrip.Items)
                {
                    var x = item.Tag as IMenuItemParams;
                    if (x != null && x.OpeningHandler != null)
                    {
                        x.OpeningHandler(x, new OpeningEventArgs {MenuItem = new WinFormsMenuItemHanlder((ToolStripMenuItem)item)});
                    }
                }
            });

            return contextMenuStrip;
        }