From 0f58c0039852f4be3d449906e9f2fb54332126c6 Mon Sep 17 00:00:00 2001 From: tangxu <tangxu76880903> Date: 星期一, 14 十月 2024 15:43:53 +0800 Subject: [PATCH] 引用丢失! --- 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