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