Par programme de l'ajout à l'Étiquette de Formulaire Windows (Longueur de l'étiquette?)
Dans mon code, j'ai créer une étiquette avec le texte suivant:
Label namelabel = new Label();
namelabel.Location = new Point(13, 13);
namelabel.Text = name;
this.Controls.Add(namelabel);
La chaîne de caractères appelée nom est défini avant cela, et a une longueur de l'ordre de 50 caractères. Toutefois, seuls les 15 premiers sont affichés dans l'étiquette sur mon formulaire. J'ai essayé de jouer avec le MaximumSize de l'étiquette, mais en vain.
Pour info: l'Initialiseur de la syntaxe est beaucoup plus propre:
Controls.Add(new Label { Location = new Point(13, 13), AutoSize = true, Text = name });
OriginalL'auteur Wilson | 2012-07-18
Vous devez vous connecter pour publier un commentaire.
Essayez d'ajouter la propriété AutoSize:
Lorsque vous placez une étiquette sur un formulaire avec l'éditeur de conception, cette propriété par défaut à true, mais si vous créez l'étiquette dans le code comme vous l'avez fait, la valeur par défaut est false.
OriginalL'auteur LarsTech
Essayer la propriété AutoSize = true;
MSDN refs
Un autre moyen est d'utiliser le MeasureString méthode de la classe Graphics
OriginalL'auteur Steve
Vous pouvez utiliser la propriété
Label.AutoSize
pour ajuster automatiquement la largeur de votre étiquette de bien s'adapter à tous les contenus stockés dansLabel.Text
.Il est important de mentionner que lors de la création de l'étiquette à l'aide de l'éditeur de conception de cette propriété par défaut vrai, mais quand vous par programme crée une étiquette sur votre propre la propriété par défaut faux.
Bien sûr, vous pouvez également définir manuellement la largeur de votre étiquette en utilisant quelque chose comme ci-dessous pour calculer la largeur requise.
De la Documentation concernant l'utilisation de
Label.AutoSize
utilisation peuvent être trouvés sur msdn:De la Documentation concernant les
Graphics.MeasureString
peut être trouvé ici:OriginalL'auteur Filip Roséen - refp
OriginalL'auteur Dipesh adhikari