Dans mon code, je crée une étiquette avec les éléments suivants: La chaîne appelée nom est définie avant cela et a une longueur d'environ 50 caractères. Cependant, seuls les 15 premiers sont affichés dans l'étiquette sur mon formulaire. J'ai essayé de jouer avec le maximum de l'étiquette, mais à rien en vain. P> p>
4 Réponses :
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 est true, mais si vous créez l'étiquette dans le code comme vous l'avez fait. , la valeur par défaut est false. p> p>
Essayez la propriété Autosize = true;
MSDN Refs P>
Une autre manière utilise la méthode de mesure de la classe graphique p>
Vous pouvez utiliser la propriété Ça vaut la peine Mentionnant que lors de la création de l'étiquette à l'aide de l'éditeur de conception, cette propriété est par défaut de true em>, mais lorsque vous créez programmable une étiquette sur votre propre propriété par défaut de la propriété false em>. P> label.Autosize CODE> pour régler automatiquement la largeur de votre étiquette pour adapter correctement tout le contenu stocké dans
label.text code>.
Graphics namelabel_g = namelabel.CreateGraphics ();
namelabel.Width = namelabel_g.MeasureString (
namelabel.Text, namelabel.Font
);
panel_saved.Controls.Add( new Label { Location = new Point(1, 2), Size = new System.Drawing.Size(43, 18), BorderStyle = BorderStyle.FixedSingle, Text = "yourdata" });
FYI: Initializer Syntaxe est beaucoup plus propre:
Controls.add (nouvelle étiquette {emplacement = nouveau point (13, 13), autosize = true, texte = nom}); code>