From 01c17e63a6d26085b6db1e188ea3bac3b9e26b30 Mon Sep 17 00:00:00 2001
From: tangxu <tangxu76880903>
Date: 星期三, 06 十一月 2024 09:30:41 +0800
Subject: [PATCH] 修改TreeView颜色

---
 WinFrmUI/DPumpHydr.WinFrmUI.Ribbon/Component Classes/RibbonButton.cs |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Ribbon/Component Classes/RibbonButton.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Ribbon/Component Classes/RibbonButton.cs
index f484806..fbe5f8a 100644
--- a/WinFrmUI/DPumpHydr.WinFrmUI.Ribbon/Component Classes/RibbonButton.cs
+++ b/WinFrmUI/DPumpHydr.WinFrmUI.Ribbon/Component Classes/RibbonButton.cs
@@ -641,9 +641,10 @@
             {
                 if (Image != null)
                 {
+                    int marginTop = Owner == null ? 0 : Owner.ItemMargin.Top;
                     return new Rectangle(
                     Bounds.Left + ((Bounds.Width - Image.Width) / 2),
-                    Bounds.Top + Owner.ItemMargin.Top,
+                    Bounds.Top + marginTop,
                     Image.Width,
                     Image.Height);
                 }
@@ -687,11 +688,22 @@
 
             if (sMode == RibbonElementSizeMode.Large)
             {
-                return Rectangle.FromLTRB(
-                    Bounds.Left + Owner.ItemMargin.Left,
-                    Bounds.Top + Owner.ItemMargin.Top + imgh,
-                    Bounds.Right - Owner.ItemMargin.Right,
-                    Bounds.Bottom - Owner.ItemMargin.Bottom);
+                if (Owner == null)
+                {
+                    return Rectangle.FromLTRB(
+                        Bounds.Left,
+                        Bounds.Top + imgh,
+                        Bounds.Right,
+                        Bounds.Bottom);
+                }
+                else
+                {
+                    return Rectangle.FromLTRB(
+                        Bounds.Left + Owner.ItemMargin.Left,
+                        Bounds.Top + Owner.ItemMargin.Top + imgh,
+                        Bounds.Right - Owner.ItemMargin.Right,
+                        Bounds.Bottom - Owner.ItemMargin.Bottom);
+                }
             }
 
             // ddw is the dropdown arrow width
@@ -834,7 +846,7 @@
         /// <returns></returns>
         public override Size MeasureSize(object sender, RibbonElementMeasureSizeEventArgs e)
         {
-            if (!Visible && !Owner.IsDesignMode())
+            if (Owner == null || (!Visible && !Owner.IsDesignMode()))
             {
                 SetLastMeasuredSize(new Size(0, 0));
                 return LastMeasuredSize;

--
Gitblit v1.9.3