Як дізнатися поточну ширину смуги прокрутки системи?


96

Як відомо, можна налаштувати ширину ширини смуги прокрутки у Властивості дисплея -> Зовнішній вигляд -> Додатково -> Елемент: Прокрутка. Значення за замовчуванням - 17. Однак я не можу припустити, що це завжди так, чи можливо мені отримати це значення?

Відповіді:



28

Ширина вертикальної смуги прокрутки

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

9

Якщо ви хочете знати розмір ScrollableControlмінус розмір смуги прокрутки, найпростіший спосіб - скористатися Control.ClientSizeвластивістю.

З документації :

Отримує або встановлює висоту та ширину клієнтської області елемента керування. Клієнтська область елемента керування - це межі елемента управління, за винятком некліентських елементів, таких як смуги прокрутки , межі, рядки заголовків та меню.


3
На жаль, ClientSize також включає ширину смуги прокрутки (дає таке саме значення, як ActualWidth). Це не має сенсу.
Ойвінд

2

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

Коли я відформатував RichTextBox із шириною 304 та вертикальною смугою прокрутки, ширина розміру клієнта становила 300, що враховувало лише межі.

дотримуйтесь System.Windows.Forms.SystemInformation.VerticalScrollBarWidth, щоб отримати ширину смуги прокрутки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.