如何获取 AutoScroll 滚动条的粗细?

How to get AutoScroll scrollbar thickness?

我正在开发一个程序功能,其中 FlowLayoutPanel(其流向设置为 TopDown)应根据垂直滚动条在屏幕上是否可见来调整其宽度。我已经想出如何检测滚动条是否可见。

我的问题是我似乎无法弄清楚如何找到(预编程的)垂直滚动条的宽度。我想在面板溢出时扩大宽度的原因是滚动条与面板中的控件重叠。

如果可能,我想避免更改控件的 margin/padding,并且我想避免使用我在代码中声明的常量。

我还想避免添加 VerticalScrollBar 组件,除非有一种简单的方法可以根据滚动条的拇指位置以编程方式滚动溢出的面板。

有人有什么想法吗?谢谢!

这取决于 windows 表单和 WPF。

  • 有关表格,请参阅:How do I know the current width of system scrollbar?

System.Windows.Forms.SystemInformation class 成员:HorizontalScrollBarHeight and VerticalScrollBarWidth.

  • 对于 WPF,请参阅:How to find Vertical Scrollbar width of a Scrollviewer in C#

SystemParameters.VerticalScrollBarWidth