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

问题描述 投票:86回答:4

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

c# winforms
4个回答
137
投票

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


26
投票

垂直滚动条宽度

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

8
投票

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

来自documentation

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


2
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.