From 12acdf14fcddae8d16e00b7b981559da67ce60ea Mon Sep 17 00:00:00 2001
From: Chr <haoran.cheng@skonda.com.cn>
Date: 星期五, 23 八月 2024 08:53:20 +0800
Subject: [PATCH] 完善消息通知程序;

---
 PdmAlert/DockApp.cs |   35 +++++++++++++++++++++++++----------
 1 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/PdmAlert/DockApp.cs b/PdmAlert/DockApp.cs
index 4e78dbc..12392d2 100644
--- a/PdmAlert/DockApp.cs
+++ b/PdmAlert/DockApp.cs
@@ -6,22 +6,22 @@
 {
     public class DockApp
     {
-        private Window showWindow;
+        private MainWindow showWindow;
         private NotifyIcon icon;
 
         public DockApp()
         {
             icon = new NotifyIcon();
             icon.BalloonTipText = "鍚姩涓�...";
-            icon.Text = "PDM娑堟伅閫氱煡绋嬪簭";
+            icon.Text = "娑堟伅閫氱煡绋嬪簭";
             icon.Icon = new System.Drawing.Icon("./Icon/Icon.ico");
             icon.Visible = true;
 
             MenuItem mainItem = new MenuItem("鏄剧ず涓荤晫闈�");
-            mainItem.Click += ExitItem_Click;
+            mainItem.Click += Icon_DoubleClick;
 
             MenuItem switchUserItem = new MenuItem("鍒囨崲鐢ㄦ埛");
-            switchUserItem.Click += ExitItem_Click;
+            switchUserItem.Click += SwitchUser_Click;
 
             MenuItem exitItem = new MenuItem("鍏抽棴");
             exitItem.Click += ExitItem_Click;
@@ -43,13 +43,9 @@
             else
             {
                 showWindow = new MainWindow();
+                showWindow.Closed += MainWindow_Closed;
                 showWindow.Show();
             }
-        }
-
-        private void Icon_DoubleClick(object sender, EventArgs e)
-        {
-            RefreshWindow();
         }
 
         public void Run()
@@ -57,9 +53,23 @@
             RefreshWindow();
         }
 
-        private void MainWindow_Closed(object sender, EventArgs e)
+        public void Stop()
         {
+            if (showWindow != null) showWindow.DoDispose();
+            showWindow.Close();
             showWindow = null;
+            icon.Visible = false;
+            icon.Dispose();
+        }
+
+        private void Icon_DoubleClick(object sender, EventArgs e)
+        {
+            RefreshWindow();
+        }
+
+        private void SwitchUser_Click(object sender, EventArgs e)
+        {
+            ((App)System.Windows.Application.Current).SwithUser();
         }
 
         private void ExitItem_Click(object sender, EventArgs e)
@@ -72,5 +82,10 @@
             icon.Dispose();
             System.Windows.Application.Current.Shutdown(0);
         }
+
+        private void MainWindow_Closed(object sender, EventArgs e)
+        {
+            showWindow = null;
+        }
     }
 }

--
Gitblit v1.9.1