Как вы знаете, можно настроить ширину полосы прокрутки в свойствах экрана → Внешний вид → Дополнительно → Элемент: ScrollBar. Значение по умолчанию равно 17. Однако я не могу предположить, что это всегда так, возможно ли мне получить это значение?
Как узнать текущую ширину полосы прокрутки системы?
Ответ 1
Посмотрите на члены класса System.Windows.Forms.SystemInformation
: HorizontalScrollBarHeight
и VerticalScrollBarWidth
.
Ответ 2
Ширина полосы прокрутки по вертикали
System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;
Ответ 3
Если вы хотите узнать размер ScrollableControl
минус размер полосы прокрутки, самый простой способ - использовать свойство Control.ClientSize
.
Из документации:
Получает или задает высоту и ширину клиентской области элемента управления. Клиентская область элемента управления представляет собой границы элемента управления, минус неклиентные элементы, такие как полосы прокрутки, границы, заголовки и меню.
Ответ 4
Пропустить свойство ClientSize элемента управления. По крайней мере, в VS2013 панель прокрутки включена в ClientSize.
Когда я форматировал RichTextBox шириной 304 и вертикальной полосой прокрутки, ширина клиентского размера составляла 300, которые учитывали только границы.
придерживайтесь System.Windows.Forms.SystemInformation.VerticalScrollBarWidth, чтобы получить ширину полосы прокрутки.