首页 > 解决方案 > 如何修改内部选择矩形的 HScrollBar 大小?

问题描述

我正在使用 System.Windows.Forms.HScrollBar 在 .NET 4.0 上使用 C#。

我想更改内部选择矩形的大小,如红色箭头所示。

HScrollbar 的内部滚动矩形

我将举一个例子来解释我的用例:我有一个数据集,假设有 10.000 个点,我只想将它们的间隔显示到图表中,假设为 2.000 个点。我正在绘制一个 System.Windows.Form.Panel,上面有一个 Chart,底部有一个 HScrollBar。

我想要实现的是我可以根据我使用的间隔设置 HScrollBar 的内部矩形的大小。在具有 10.000 个数据点和 2.000 个点的间隔的示例中,内部矩形的大小应该是 HScrollBar 总长度的 1/5。

var sb = new HScrollBar();
sb.Minimum = 0;
sb.Maximum = totalNumOfPoints;
sb.SelectionSize = maxNumOfVisiblePoints;  // this property does not exists, is what I am looking for

谢谢你的帮助!

标签: c#winforms

解决方案


首先,我找出了我正在寻找的正确名称, Scroll Thumb滚动条元素中所示

我发现在 C# 中你不能直接设置 Scroll Thumb 的大小,但你必须使用LargeChangeand SmallChange

var sb = new HScrollBar();
sb.Minimum = 0;
sb.Maximum = totalNumOfPoints - 1;
sb.LargeChange = maxNumOfVisiblePoints;

参考正在改变水平滚动条的拇指大小


推荐阅读