Как узнать текущую ширину полосы прокрутки системы? - PullRequest
86 голосов
/ 13 мая 2009

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

Ответы [ 4 ]

133 голосов
/ 13 мая 2009

Посмотрите на System.Windows.Forms.SystemInformation членов класса: HorizontalScrollBarHeight и VerticalScrollBarWidth.

24 голосов
/ 22 января 2010

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

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;
8 голосов
/ 02 апреля 2014

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

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

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

2 голосов
/ 13 января 2016

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...