/// <summary> /// 设置系统托盘 /// </summary> /// <param name="pars">最小化参数</param> /// <param name="dbClick"></param> /// <returns></returns> public static NotifyIcon SetSystemTray(SystemTrayParameter pars, List <SystemTrayMenu> menuList) { NotifyIcon notifyIcon = new NotifyIcon { Visible = true }; if (pars.Icon != null) { notifyIcon.Icon = pars.Icon;//程序图标 } if (!string.IsNullOrWhiteSpace(pars.MinText)) { notifyIcon.Text = pars.MinText;//最小化到托盘时,鼠标悬浮时显示的文字 } if (!string.IsNullOrWhiteSpace(pars.TipText)) { notifyIcon.BalloonTipText = pars.TipText; //设置系统托盘启动时显示的文本 notifyIcon.ShowBalloonTip(pars.Time == 0 ? 100 : pars.Time); //显示时长 } if (pars.Click != null) { notifyIcon.MouseClick += pars.Click; } if (pars.DbClick != null) { notifyIcon.MouseDoubleClick += pars.DbClick; } notifyIcon.ContextMenuStrip = GetMenuStrip(menuList); return(notifyIcon); }
private void InitTray() { SystemTrayParameter pars = new SystemTrayParameter(Resource1.DrClient, this.Title, null, 0) { Click = (object _, MouseEventArgs e) => { if (e.Button == MouseButtons.Left) { this.ShowAndActive(); } } }; List <SystemTrayMenu> ls = new List <SystemTrayMenu> { new SystemTrayMenu("主界面", (_, __) => { this.ShowAndActive(); }), new SystemTrayMenu("退出", (_, __) => { this.Close(); }) }; this.notifyIcon = WPFSystemTray.SetSystemTray(pars, ls); }