我如何知道系统滚动条的当前宽度?

时间:2009-05-13 09:12:31

标签: c# winforms

如您所知,可以在“显示属性” - >中自定义滚动条宽度的宽度。外观 - >高级 - >货号:ScrollBar。默认值为17.但是,我不能假设情况总是这样,我可以检索此值吗?

4 个答案:

答案 0 :(得分:133)

查看System.Windows.Forms.SystemInformation班级成员:HorizontalScrollBarHeightVerticalScrollBarWidth

答案 1 :(得分:24)

垂直滚动条宽度

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

答案 2 :(得分:8)

如果您想知道ScrollableControl的大小减去滚动条的大小,最简单的方法是使用Control.ClientSize属性。

来自documentation

  

获取或设置控件的客户区域的高度和宽度。   控件的客户区域是控件的边界,减去非客户端元素,如滚动条,边框,标题栏和菜单。

答案 3 :(得分:2)

跳过控件的ClientSize属性。至少在VS2013中,Scrollbar包含在ClientSize中。

当我格式化宽度为304且垂直滚动条的RichTextBox时,客户端大小宽度为300,仅占边框。

坚持使用System.Windows.Forms.SystemInformation.VerticalScrollBarWidth来获取滚动条的宽度。