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?

Hao Wooi Lim
sumber

Jawaban:

28

Lebar Bilah Gulir Vertikal

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;
Uwe Keim
sumber
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.

Paolo M
sumber
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.

pengguna3892767
sumber