Sistem kaydırma çubuğunun mevcut genişliğini nasıl bilebilirim?


97

Bildiğiniz gibi, kaydırma çubuğu genişliğinin genişliğini Görüntü Özellikleri -> Görünüm -> Gelişmiş -> Öğe: Kaydırma Çubuğu'nda özelleştirebilirsiniz. Varsayılan değer 17'dir. Ancak bunun her zaman böyle olduğunu varsayamıyorum, bu değeri almam mümkün mü?

Yanıtlar:



28

Dikey Kaydırma Çubuğu Genişliği

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

9

ScrollableControlKaydırma çubuğunun bir eksi boyutunu bilmek istiyorsanız , en kolay yol Control.ClientSizeözelliği kullanmaktır .

Gönderen belgeler :

Denetimin istemci alanının yüksekliğini ve genişliğini alır veya ayarlar. Bir denetimin istemci alanı, denetimin sınırları, kaydırma çubukları , kenarlıklar, başlık çubukları ve menüler gibi istemci olmayan öğeler hariçtir .


3
Ne yazık ki ClientSize, kaydırma çubuğunun genişliğini de içerir (ActualWidth ile aynı değeri verir). Yine de mantıklı değil.
Oyvind

2

Denetimin ClientSize özelliğini atlayın. En azından VS2013'te Kaydırma Çubuğu ClientSize'ye dahil edilmiştir.

Bir RichTextBox'ı 304 genişliğinde ve dikey bir kaydırma çubuğuyla biçimlendirdiğimde, İstemci Boyutu genişliği 300'tü ve bu yalnızca sınırları hesaba katıyordu.

Kaydırma çubuğu genişliğinizi almak için System.Windows.Forms.SystemInformation.VerticalScrollBarWidth ile devam edin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.