Bagaimana cara mengetahui lebar bilah gulir sistem saat ini?


96

Seperti yang Anda ketahui, lebar scrollbar dapat disesuaikan di Display Properties -> Appearance -> Advanced -> Item: ScrollBar. Nilai defaultnya adalah 17. Namun, saya tidak dapat berasumsi bahwa ini selalu terjadi, apakah mungkin bagi saya untuk mengambil nilai ini?

Jawaban:



28

Lebar Bilah Gulir Vertikal

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

9

Jika Anda ingin mengetahui ukuran ScrollableControlminus ukuran scroll bar, cara termudah adalah dengan menggunakan Control.ClientSizeproperti.

Dari dokumentasi :

Mendapat atau menyetel tinggi dan lebar area klien dari kontrol. Area klien dari kontrol adalah batas kontrol, tanpa elemen nonklien seperti bilah gulir , batas, bilah judul, dan menu.


3
Sayangnya, ClientSize juga menyertakan lebar scrollbar (menghasilkan nilai yang sama dengan ActualWidth). Tapi tidak masuk akal.
Oyvind

2

Lewati properti ClientSize dari kontrol. Setidaknya di VS2013 Scrollbar disertakan dalam ClientSize.

Ketika saya memformat RichTextBox dengan lebar 304 dan scrollbar vertikal, lebar Ukuran Klien adalah 300, yang hanya memperhitungkan batas.

tetap menggunakan System.Windows.Forms.SystemInformation.VerticalScrollBarWidth untuk mendapatkan lebar scrollbar Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.