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