Come faccio a sapere la larghezza corrente della barra di scorrimento del sistema?


96

Come sapete, è possibile personalizzare la larghezza della larghezza della barra di scorrimento in Proprietà dello schermo -> Aspetto -> Avanzate -> Elemento: Barra di scorrimento. Il valore predefinito è 17. Tuttavia, non posso presumere che sia sempre così, è possibile per me recuperare questo valore?

Risposte:



28

Larghezza barra di scorrimento verticale

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

9

Se vuoi conoscere la dimensione di un ScrollableControlmeno la dimensione della barra di scorrimento, il modo più semplice è usare la Control.ClientSizeproprietà.

Dalla documentazione :

Ottiene o imposta l'altezza e la larghezza dell'area client del controllo. L'area client di un controllo è i limiti del controllo, meno gli elementi non client come barre di scorrimento , bordi, barre del titolo e menu.


3
Sfortunatamente, ClientSize include anche la larghezza della barra di scorrimento (restituisce lo stesso valore di ActualWidth). Non ha senso però.
Oyvind

2

Ignorare la proprietà ClientSize del controllo. Almeno in VS2013 la barra di scorrimento è inclusa in ClientSize.

Quando ho formattato un RichTextBox con una larghezza di 304 e una barra di scorrimento verticale, la larghezza della dimensione del client era 300, che rappresentava solo i bordi.

attenersi a System.Windows.Forms.SystemInformation.VerticalScrollBarWidth per ottenere la larghezza della barra di scorrimento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.