Ajuster la largeur de vos contrôles en fonction du texte à l'intérieur. (obtenir la largeur d'une chaîne)

Contenu du snippet

Tout le monde sait qu'un Label peut s'ajuster automatiquement en fonction du texte à l'intérieur quand sa propriété "AutoSize" est à true. Il reste que le TextBox peut seulement s'ajuster avec la hauteur du texte. Il est possible d'obtenir la largeur de la chaîne à l'intérieur de ce même TextBox. Pour ensuite ajuster la largeur de celui-ci. Ce petit bout de code est réutilisable pour d'autre contrôle, comme par exemple le Button.

Source / Exemple :


//Initialisation de l'objet TextBox.
TextBox textBox = new TextBox();
textBox.Text = "Allo toi...";

//Création d'un graphique temporaire.
Graphics g = textBox.CreateGraphics();

//On obtient la hauteur et la largeur du texte qui est contenu dans le textBox.
SizeF size = g.MeasureString(textBox.Text, textBox.Font);

//On ajuste maintenant la dimension du textBox.
textBox.Size = size.ToSize();

Conclusion :


C'est la seule manière que j'ai pu trouvé. Si vous connaissez une autre façon, fait moi le savoir.

Merci

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.