110 votes

Comment puis-je connaître la largeur actuelle de la barre de défilement du système ?

Comme vous le savez, on peut personnaliser la largeur de la barre de défilement dans Propriétés d'affichage -> Apparence -> Avancé -> Élément : ScrollBar. La valeur par défaut est de 17. Cependant, je ne peux pas supposer que c'est toujours le cas, me serait-il possible de récupérer cette valeur ?

159voto

leppie Points 67289

Regardez le System.Windows.Forms.SystemInformation membres de la classe : HorizontalScrollBarHeight et VerticalScrollBarWidth .

36voto

Largeur de la barre de défilement vertical

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

11voto

Paolo M Points 584

Si vous voulez connaître la taille d'un ScrollableControl moins la taille de la barre de défilement, le moyen le plus simple est d'utiliser la fonction Control.ClientSize propriété.

De la documentation :

Obtient ou définit la hauteur et la largeur de la zone client du contrôle. La zone client d'un contrôle correspond aux limites du contrôle, moins les éléments non clients tels que les barres de défilement. les bordures, les barres de titre et les menus.

3 votes

Malheureusement, ClientSize inclut également la largeur de la barre de défilement (donne la même valeur que ActualWidth). Mais cela n'a pas de sens.

2voto

user3892767 Points 21

Ignorer la propriété ClientSize du contrôle. Au moins dans VS2013, la barre de défilement est incluse dans la propriété ClientSize.

Lorsque j'ai formaté une RichTextBox avec une largeur de 304 et une barre de défilement verticale, la largeur de la taille du client était de 300, ce qui ne tenait compte que des bordures.

utilisez la fonction System.Windows.Forms.SystemInformation.VerticalScrollBarWidth pour obtenir la largeur de votre barre de défilement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X