From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 HMI.UI/Util/MsgBoxHelper.cs |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/HMI.UI/Util/MsgBoxHelper.cs b/HMI.UI/Util/MsgBoxHelper.cs
new file mode 100644
index 0000000..2c81478
--- /dev/null
+++ b/HMI.UI/Util/MsgBoxHelper.cs
@@ -0,0 +1,94 @@
+锘縰sing Panuon.WPF.UI;
+using System.Windows;
+using Panuon.WPF.UI.Configurations;
+using HMI.Core.Util;
+using System;
+
+namespace HMI.UI.Util
+{
+    public class MsgBoxHelper
+    {
+        #region Warn
+        public static MessageBoxResult WarnMessage(DependencyObject owner,
+            string message,
+            string caption = null,
+            MessageBoxButton button = MessageBoxButton.OKCancel,
+            MessageBoxIcon icon = MessageBoxIcon.Warning,
+            DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null)
+        {
+            caption = caption ?? LangUtil.Get("App.Warn");
+            var setting = Application.Current.FindResource("MsgBoxWarn") as MessageBoxXSetting;
+            return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown);
+        }
+        #endregion
+
+        #region Error
+        public static MessageBoxResult ErrorMessage(DependencyObject owner,
+            string message,
+            string caption = null,
+            MessageBoxButton button = MessageBoxButton.OKCancel,
+            MessageBoxIcon icon = MessageBoxIcon.Error,
+            DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null)
+        {
+            caption = caption ?? LangUtil.Get("App.Error");
+            var setting = Application.Current.FindResource("MsgBoxError") as MessageBoxXSetting;
+            return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown);
+        }
+
+        public static MessageBoxResult Error(DependencyObject owner,
+            string message,
+            string caption = null,
+            MessageBoxButton button = MessageBoxButton.OK,
+            MessageBoxIcon icon = MessageBoxIcon.Error,
+            DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null)
+        {
+            caption = caption ?? LangUtil.Get("App.Error");
+            var setting = Application.Current.FindResource("MsgBoxError") as MessageBoxXSetting;
+            return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown);
+        }
+        #endregion
+
+        #region Info
+        public static MessageBoxResult InfoMessage(DependencyObject owner,
+            string message,
+            string caption = null,
+            MessageBoxButton button = MessageBoxButton.OKCancel,
+            MessageBoxIcon icon = MessageBoxIcon.Info,
+            DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null)
+        {
+            caption = caption ?? LangUtil.Get("App.Info");
+            var setting = Application.Current.FindResource("MsgBoxInfo") as MessageBoxXSetting;
+            return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown);
+        }
+        #endregion
+
+        public static MessageBoxResult ShowMessage(DependencyObject owner,
+            string message,
+            string caption,
+            MessageBoxButton button,
+            MessageBoxIcon icon,
+            DefaultButton defaultButton, MessageBoxXSetting setting, int? countdown)
+        {
+            MessageBoxResult res = MessageBoxResult.None;
+            if (!(owner is Window window))
+            {
+                owner.Dispatcher.Invoke(() =>
+                {
+                    window = Window.GetWindow(owner) ?? Application.Current.MainWindow;
+                    window.Dispatcher.Invoke(() =>
+                    {
+                        res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown);
+                    });
+                });
+            }
+            else
+            {
+                window.Dispatcher.Invoke(() =>
+                {
+                    res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown);
+                });
+            }
+            return res;
+        }
+    }
+}

--
Gitblit v1.9.1