From 525cc8fd27a50eb62492aceb0195ba448ab1b8a9 Mon Sep 17 00:00:00 2001 From: Sunny Date: Wed, 28 Jun 2023 17:32:50 +0800 Subject: [PATCH] =?UTF-8?q?*=20UIDataGridView:=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E5=8F=AF=E8=AE=BE=E7=BD=AE=E6=B0=B4=E5=B9=B3=E6=BB=9A?= =?UTF-8?q?=E5=8A=A8=E6=9D=A1=E5=AE=BD=E5=BA=A6=E7=9A=84=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=EF=BC=8C=E4=BD=86=E5=8F=AF=E8=83=BD=E4=BC=9A=E9=81=AE=E6=8C=A1?= =?UTF-8?q?=E6=9C=80=E4=B8=8B=E9=9D=A2=E6=95=B0=E6=8D=AE=E8=A1=8C=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=EF=BC=8C=E7=9C=8B=E6=83=85=E5=86=B5=E4=BD=BF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SunnyUI/Controls/UIDataGridView.cs | 32 ++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/SunnyUI/Controls/UIDataGridView.cs b/SunnyUI/Controls/UIDataGridView.cs index b17a749b..30021837 100644 --- a/SunnyUI/Controls/UIDataGridView.cs +++ b/SunnyUI/Controls/UIDataGridView.cs @@ -44,6 +44,7 @@ * 2022-07-28: V3.2.2 修复了ScrollBars为None时仍然显示滚动条的问题 * 2022-07-28: V3.2.2 修复了单行时表格高度低时,垂直滚动条拖拽至底部出错的问题 * 2022-10-14: V3.2.6 增加了可设置垂直滚动条宽度的属性 + * 2023-06-28: V3.3.9 增加了可设置水平滚动条宽度的属性,但可能会遮挡最下面数据行的数据,看情况使用 ******************************************************************************/ using System; @@ -142,6 +143,32 @@ namespace Sunny.UI } } + private int scrollBarHeight = 0; + + [DefaultValue(0), Category("SunnyUI"), Description("垂直滚动条宽度,最小为原生滚动条宽度")] + public int ScrollBarHeight + { + get => scrollBarHeight; + set + { + scrollBarHeight = value; + SetScrollInfo(); + } + } + + private int scrollBarHandleHeight = 6; + + [DefaultValue(6), Category("SunnyUI"), Description("垂直滚动条滑块宽度,最小为原生滚动条宽度")] + public int ScrollBarHandleHeight + { + get => scrollBarHandleHeight; + set + { + scrollBarHandleHeight = value; + if (HBar != null) HBar.FillHeight = value; + } + } + /// /// 禁止控件跟随窗体缩放 /// @@ -493,6 +520,7 @@ namespace Sunny.UI } int barWidth = Math.Max(ScrollBarInfo.VerticalScrollBarWidth(), ScrollBarWidth); + int barHeight = Math.Max(ScrollBarInfo.HorizontalScrollBarHeight(), ScrollBarHeight); if (BorderStyle == BorderStyle.FixedSingle) { @@ -503,7 +531,7 @@ namespace Sunny.UI VBar.BringToFront(); HBar.Left = 1; - HBar.Height = ScrollBarInfo.HorizontalScrollBarHeight() + 1; + HBar.Height = barHeight + 1; HBar.Width = Width - (VBar.Visible ? VBar.Width : 0) - 2; HBar.Top = Height - HBar.Height - 1; HBar.BringToFront(); @@ -517,7 +545,7 @@ namespace Sunny.UI VBar.BringToFront(); HBar.Left = 0; - HBar.Height = ScrollBarInfo.HorizontalScrollBarHeight() + 1; + HBar.Height = barHeight + 1; HBar.Width = Width - (VBar.Visible ? VBar.Width : 0); HBar.Top = Height - HBar.Height; HBar.BringToFront();