更改滚动条在面板上的移动量

Change amount scrollbar moves on a panel

我有一个包含许多子控件并启用了 Autoscroll 的面板。单击滚动条顶部或底部的箭头只会导致几个像素的微小移动:

是否可以控制移动量并将其设置为更大的值?使用 .NET Compact Framework。

编辑 1

在完整版的.NET中,可以直接访问VerticalScroll.SmallChangeVerticalScroll.LargeChange属性。但是这些在 Compact Framework 中是不可用的。那么问题是如何在Compact Framework中做到这一点?

编辑 2 通过查看面板的 AutoScrollPosition.Y,我发现 SmallChange 参数设置为 5 像素。这必须是 Compact Framework 中 Panel 控件的默认值。对于我的触摸屏应用程序,这需要大约 70 像素。

经过大量研究,我得出的结论是,这在 Compact Framework 中根本不可能。此答案不适用于特定问题,而是改编自 this answer by Cyril Gupta

的出色解决方法
  • 创建一个新的 "parent" 面板并将旧面板放在该父面板上
  • 调整子项的大小,使父项的一小块区域可见。在此区域放置 UpDown 按钮。
  • 在子面板上禁用 AutoScroll
  • 设置子面板的高度,使滚动条消失。请注意,当然并非所有控件都可见。
  • 当在父面板上单击其中一个按钮时,更改子面板的 Top 属性。

效果很好!