我怎么知道系统滚动条的当前宽度?


96

如您所知,您可以在[显示属性]-> [外观]-> [进阶]-> [项目:ScrollBar]中自订滚动条的宽度。默认值为17。但是,我不能总是这样,是否可以检索此值?

Answers:




9

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

文档中

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


3
不幸的是,ClientSize也包含滚动条的宽度(与ActualWidth的值相同)。没道理。
Oyvind

2

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

当我格式化一个宽度为304和垂直滚动条的RichTextBox时,“客户端大小”宽度为300,仅占边界。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.