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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 142 fois - Téléchargée 32 fois

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

Ajouter un commentaire

Commentaires

gg00xiv
Messages postés
656
Date d'inscription
mercredi 22 août 2001
Statut
Membre
Dernière intervention
11 mars 2005
11 -
Si ton textbox se redimensionne il fo penser aussi a redimensionner ta fenetre, et les autres controles situes a cote de ce dernier ...
et puis c peu esthetique un textbox qui sautoredimensionne automatiquement , perso j'ai jamais vu une appli qui faisait ca.
cs_CapsLock
Messages postés
40
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
5 septembre 2003
-
Oui c'est sur, mais dans le cadre de projet avec l'utilisation du GDI+, il est souvent pratique de redimensionner des contrôles qui seront "Dessiner" à l'utilisateur. Moi, j'ai chercher quelque heures pour trouver ceci. Je voulais juste que les autres utilisateurs ne cherchent pas aussi longtemps...

Quand penses-tu ???
TheSaib
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
12 -
CapsLock n'a pas tord , ca evitera a ceux qui en ont besoin de perdre du temps :>
cs_Domilo
Messages postés
32
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
22 février 2005
-
Super !
Merci.

Quelqu'un saurait-il comment le décliner en ASP.Naet?
(Je ne trouve pas CreateGraphics avec le TextBox d'Asp)
bucherb
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Genre ce truc c'est nickel si tu fais ta propre MessageBox, pour la faire de la bonne taille.. merci Caps..

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.