J'essaye de faire un Label
en C#, qui encapsulerait le texte comme il aurait une largeur fixe et une hauteur variable. J'utilise ce code:La taille de l'étiquette n'est pas correcte
Label newMsg = new Label();
newMsg.AutoSize = true;
newMsg.MaximumSize = new Size(350, 400); //setting fixed width, max height to avoid being too high for container
newMsg.MinimumSize = new Size(350, 0); //fixed width, height doesn't matter
newMsg.Text = msg;
newMsg.Location = new Point(4, 7);
newMsg.BackColor = Color.Red; //red to see the actual size in contrast to its container
mais cela ne fonctionne pas. J'ai essayé de faire une recherche pourquoi, et peu importe si le texte est un mot ou un paragraphe entier, le newMsg.Height
est toujours 23. Est-ce que quelqu'un sait pourquoi? Merci
si vous avez besoin d'une taille personnalisée -> 'newMsg.AutoSize = false;' –
Je pense que c'est la 'autosize'. Peut-être mis à faux? Quoi qu'il en soit, la taille peut entourer la taille de la police du texte. ** EDIT **: Laissez-moi voir si je l'ai eu: vous voulez que la hauteur de l'étiquette augmente si le texte à l'intérieur ne correspond pas à la largeur? Comme multiline? Je suis désolé, mais la question n'est pas très claire – chiapa
J'ai essayé un peu plus de choses et j'ai découvert que le problème est assez différent que je pensais, désolé pour cela. L'étiquette se redimensionne correctement, elle s'étire et enveloppe le texte à une autre ligne. Le problème est que Label.Height renvoie toujours 23, même si ce n'est pas vrai –