using System; using System.Windows; using System.Windows.Forms; namespace PdmAlert { public class DockApp { private Window showWindow; private NotifyIcon icon; public DockApp() { icon = new NotifyIcon(); icon.BalloonTipText = "启动中..."; icon.Text = "PDM消息通知程序"; icon.Icon = new System.Drawing.Icon("./Icon/Icon.ico"); icon.Visible = true; MenuItem mainItem = new MenuItem("显示主界面"); mainItem.Click += ExitItem_Click; MenuItem switchUserItem = new MenuItem("切换用户"); switchUserItem.Click += ExitItem_Click; MenuItem exitItem = new MenuItem("关闭"); exitItem.Click += ExitItem_Click; MenuItem[] items = new MenuItem[] { mainItem, switchUserItem, exitItem }; icon.ContextMenu = new ContextMenu(items); icon.DoubleClick += Icon_DoubleClick; } public void RefreshWindow() { if (showWindow != null) { showWindow.Show(); showWindow.Activate(); } else { showWindow = new MainWindow(); showWindow.Show(); } } private void Icon_DoubleClick(object sender, EventArgs e) { RefreshWindow(); } public void Run() { RefreshWindow(); } private void MainWindow_Closed(object sender, EventArgs e) { showWindow = null; } private void ExitItem_Click(object sender, EventArgs e) { if (showWindow != null) { showWindow.Close(); } icon.Visible = false; icon.Dispose(); System.Windows.Application.Current.Shutdown(0); } } }