From 31a636e735a0addc56e4f4527f500b7aa0874eb5 Mon Sep 17 00:00:00 2001
From: chr <chr@mailcom>
Date: 星期五, 03 一月 2025 11:21:46 +0800
Subject: [PATCH] 改了一大堆;

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

diff --git a/PdmAlert/DockApp.cs b/PdmAlert/DockApp.cs
index b68feff..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;
@@ -38,17 +38,14 @@
             if (showWindow != null)
             {
                 showWindow.Show();
+                showWindow.Activate();
             }
             else
             {
                 showWindow = new MainWindow();
+                showWindow.Closed += MainWindow_Closed;
                 showWindow.Show();
             }
-        }
-
-        private void Icon_DoubleClick(object sender, EventArgs e)
-        {
-            RefreshWindow();
         }
 
         public void Run()
@@ -56,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)
@@ -71,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