Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AJUSTER LA LARGEUR DE VOS CONTRÔLES EN FONCTION DU TEXTE À L'INTÉRIEUR. (OBTENIR LA LARGEUR D'UNE CHAÎNE)


Information sur la source

Catégorie :.NET Source .NET ( DotNet ) Classé sous : chaine, largeur, taille, mesurestring Niveau : Débutant Date de création : 06/08/2003 Date de mise à jour : 06/08/2003 00:11:43 Vu : 8 114

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

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

  • //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();
//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

 

Commentaires et avis

signaler à un administrateur
Commentaire de gg00xiv le 16/08/2003 15:21:30

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.

signaler à un administrateur
Commentaire de CapsLock le 18/08/2003 12:06:37

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 ???

signaler à un administrateur
Commentaire de TheSaib le 25/08/2003 04:10:54 administrateur CS

CapsLock n'a pas tord , ca evitera a ceux qui en ont besoin de perdre du temps :>

signaler à un administrateur
Commentaire de Domilo le 26/08/2003 10:54:13

Super !
Merci.

Quelqu'un saurait-il comment le décliner en ASP.Naet?
(Je ne trouve pas CreateGraphics avec le TextBox d'Asp)

signaler à un administrateur
Commentaire de bucherb le 04/05/2004 16:28:27

Genre ce truc c'est nickel si tu fais ta propre MessageBox, pour la faire de la bonne taille.. merci Caps..

signaler à un administrateur
Commentaire de tmcuh le 04/05/2005 11:22:09

Je suis d'accord pour dire que la seule possibilité d'action est une position d'initialisation ... ainsi au départ on défini le controle pour 5 caractère et il se redimensionne suivant la police qui lui est associé. C'est pas mal et simple à faire. Merci pour cette source.
Pour asp.net regarde les class utilisé pour le graphic, il y a de forte chance que tu dois intégré le windows.graphic. Mais tout ce qui est c# peut etre appliqué à asp.net le tout c'est d'avoir les bonnes classes.

Amicalement tmcuh

signaler à un administrateur
Commentaire de TeBeCo le 09/03/2008 18:27:49

Quoi qu'il en sois c'est effectivement bien pratique d'avoir à le trouver directement comme cela sur un site pour une utilisation direct.
Je pense que que vous puissiez vous permettre de juger si c'est utile ou non vous êtes pas vraiment les seuls utilisateur de GDI existant.
Personnellement ça me sert dynamiquement pour afficher des chaine de caractère et pourvoir les couper sans pour autant aller redimensionner un item.
Les cas d'utilisation sont relativement vastes, la source est pertinente est précise

Merci encore.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

modifier la police la taille et l'alignement d'une chaine par programme [ par chafaqis ] salut tt le mondej'ai un problème j'ai une variable de type string et je veut la mettre en forme c'est à dire changer sa taille,son alignement et sa p Récupérer la taille d'une string [ par cpetitjean ] Y aurait-il un moyen de récupérer la taille d'une string quand on fait un graphics.DrawString() ??En fait je voudrais dessiner un rectangle autour d'u Formatage de chaine pour impression [ par heriquet ] Salut.Je bosse actuellement sur l'impression de virements pré-imprimés.Sur la feuille qui contient le virement, je veux imprimer la liste des membres Une image [ par rintchu ] Salut a tous, j'ai un petit probleme au point de vue interface et je crois que je vais craquer. J'ai une image que je veux mettre en arriere plan ( ba C# : Largeur colonnes DATAGRID [ par Tommy666 ] Salut,Désolé pour la question stupide... mais comment fait-on pour définir des largeurs de colonnes d'une Datagrid ?Expl. : la 1ère col fait 150 Creer et enregistrer une dll .net pour l'utiliser en ASP [ par Kev33 ] Bonjour,J'essai de creer une dll en .net et de l'enregistrer avec la commande "regsvr32 madll.dll"mais j'ai une erreur : "madll.dll a été chargé mais taille d'un repertoire [ par meihua ] bonjour, j'aimerais savoir comment fait-on pour afficher la taille d'un repertoire d'abord est ce que c'est possible?! existe t'il 1 fonction qui calcule la valeur numerique d'1 chaine string [ par oboudou ] je cherche une fonction ou une méthoque à qui je donne en argument une chaine de caratére type stirng (par éxemple "5+2" ou "2") et qui me retourne la code vbscript en csharp : quelqu'un peut-il m'aider [ par aurelie ] Voilà j'aimerais transformer ce code vbscript en csharp. Est-ce que quelqu'un pourrait m'aider. Merci' Transforme la chaine binaire en chaine unicode' Taille dune colonne dans un Datagrid [ par Choumi1980 ] Salut les gars,y aurait-il qq'un qui sache comment la taille d'une colonne ds une datagrid?Merci d'avance <img src=/imgs2/smile_clown.gif border=0 ali


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,451 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.