c# - 如何修改内部选择矩形的 HScrollBar 大小?
问题描述
我正在使用 System.Windows.Forms.HScrollBar 在 .NET 4.0 上使用 C#。
我想更改内部选择矩形的大小,如红色箭头所示。
我将举一个例子来解释我的用例:我有一个数据集,假设有 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
谢谢你的帮助!
解决方案
首先,我找出了我正在寻找的正确名称,
Scroll Thumb
如滚动条元素中所示
我发现在 C# 中你不能直接设置 Scroll Thumb 的大小,但你必须使用LargeChange
and SmallChange
:
var sb = new HScrollBar();
sb.Minimum = 0;
sb.Maximum = totalNumOfPoints - 1;
sb.LargeChange = maxNumOfVisiblePoints;
参考正在改变水平滚动条的拇指大小
推荐阅读
- mysql - Concat 函数在 Flask 上的 MySQL 查询中返回 1
- pandas - 在熊猫数据框中的选定列中获取行中的第二大值
- android - FirebaseInstanceId.getInstance().getToken() = null 什么时候?
- lua - Lua 光线投射异常
- python - python比较字典的值并丢弃它们
- c# - UNC 路径机
- java - 如何创建一个输入流,其源是接收到的数据包(ByteArrayInputStream 和 DataInputStream)?
- javascript - 如何使用单击的选项卡设置 isActive 动态属性 React
- r - 闪亮应用中的多个 group_by
- .net - 没有这样的配置属性:“sasl.kerberos.kinit.cmd”