From e3868d4d61ded0e76fc8fe3fdacdd9e6d9113cf1 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 13 十月 2025 08:50:15 +0800
Subject: [PATCH] 优化HMI;

---
 WPFProject/Utils/MainToastHandler.cs |   44 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/WPFProject/Utils/MainToastHandler.cs b/WPFProject/Utils/MainToastHandler.cs
index ed44805..9356303 100644
--- a/WPFProject/Utils/MainToastHandler.cs
+++ b/WPFProject/Utils/MainToastHandler.cs
@@ -2,6 +2,7 @@
 using Panuon.WPF.UI;
 using Panuon.WPF.UI.Configurations;
 using HMI.UI.Util;
+using System;
 
 namespace WPFProject.Utils
 {
@@ -11,15 +12,15 @@
             MessageBoxIcon icon, ToastPosition position,
             double offset, int durationMs, ToastWindow targetWindow)
         {
-            var setting = Application.Current.FindResource("toastSuccess") as ToastSetting;
+            ToastSetting setting = Application.Current.FindResource("toastSuccess") as ToastSetting;
             if (window is PanuonWindow pw)
             {
                 double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0);
-                Toast.Show(pw, message, icon, position, num, durationMs, setting);
+                Show(pw, message, icon, position, num, durationMs, setting);
             }
             else if (window is WindowX wx)
             {
-                Toast.Show(wx, message, icon, position, 0, durationMs, setting);
+                Show(wx, message, icon, position, 0, durationMs, setting);
             }
         }
 
@@ -31,12 +32,45 @@
             if (window is PanuonWindow pw)
             {
                 double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0);
-                Toast.Show(pw, message, icon, position, num, durationMs, setting);
+                Show(pw, message, icon, position, num, durationMs, setting);
             }
             else if (window is WindowX wx)
             {
-                Toast.Show(wx, message, icon, position, 0, durationMs, setting);
+                Show(wx, message, icon, position, 0, durationMs, setting);
             }
         }
+
+        public void Error(Window window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastWindow targetWindow)
+        {
+            var setting = Application.Current.FindResource("toastError") as ToastSetting;
+            if (window is PanuonWindow pw)
+            {
+                double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0);
+                Show(pw, message, icon, position, num, durationMs, setting);
+            }
+            else if (window is WindowX wx)
+            {
+                Show(wx, message, icon, position, 0, durationMs, setting);
+            }
+        }
+
+        public void Info(Window window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastWindow targetWindow)
+        {
+            var setting = Application.Current.FindResource("toastError") as ToastSetting;
+            if (window is PanuonWindow pw)
+            {
+                double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0);
+                Show(pw, message, icon, position, num, durationMs, setting);
+            }
+            else if (window is WindowX wx)
+            {
+                Show(wx, message, icon, position, 0, durationMs, setting);
+            }
+        }
+
+        private void Show(WindowX window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastSetting setting)
+        {
+            Toast.Show(window, message, icon, position, offset, durationMs, setting);
+        }
     }
 }

--
Gitblit v1.9.1