Pourquoi ne fonctionne pas correctement TextRenderer.MeasureText?
-
27-10-2019 - |
Question
Je veux mesurer la hauteur du texte donné une certaine largeur de toile disponible. Le texte que je passe est très long et je sais enveloppera. À cette fin, j'appelle ce qui suit:
using System.Windows.Forms;
...
string text = "Really really long text that is sure to wrap...";
Font font = new Font("Arial", 14);
Size canvas = new Size(1100, 850);
Size size = TextRenderer.MeasureText(text, font, canvas);
Peu importe ce que je passe pour la toile, il retourne toujours 14 pour size.Height
.
Suis-je manque quelque chose simple?
La solution
S'il vous plaît, utilisez la mesure TextFormatFlags paramètre comme indiqué ci-dessous:
Size size = TextRenderer.MeasureText(text, font, canvas, TextFormatFlags.WordBreak);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow