Как узнать текущую ширину полосы прокрутки системы?


96

Как вы знаете, ширину полосы прокрутки можно настроить в Свойства экрана -> Внешний вид -> Дополнительно -> Элемент: ScrollBar. Значение по умолчанию - 17. Однако я не могу предположить, что это всегда так, могу ли я получить это значение?

Ответы:



28

Ширина вертикальной полосы прокрутки

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

9

Если вы хотите узнать размер ScrollableControlминус размер полосы прокрутки, проще всего использовать это Control.ClientSizeсвойство.

Из документации :

Получает или задает высоту и ширину клиентской области элемента управления. Клиентская область элемента управления - это границы элемента управления за вычетом неклиентских элементов, таких как полосы прокрутки , границы, строки заголовка и меню.


3
К сожалению, ClientSize также включает ширину полосы прокрутки (дает то же значение, что и ActualWidth). Хотя в этом нет смысла.
Ойвинд

2

Пропустите свойство ClientSize элемента управления. По крайней мере, в VS2013 полоса прокрутки включена в ClientSize.

Когда я отформатировал RichTextBox с шириной 304 и вертикальной полосой прокрутки, ширина Client Size была 300, что учитывало только границы.

придерживайтесь System.Windows.Forms.SystemInformation.VerticalScrollBarWidth, чтобы получить ширину полосы прокрутки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.