Pregunta

Quiero medir la altura del texto dado un cierto ancho del lienzo disponible. El texto que paso es muy largo y sé que se envolverá. Para ese fin, llamo a lo siguiente:

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);

No importa lo que pase para el lienzo, siempre devuelve 14 para size.Height.

¿Me estoy perdiendo algo simple?

¿Fue útil?

Solución

Por favor, use el TextFormatFlags Medir el parámetro como se muestra a continuación:

Size size = TextRenderer.MeasureText(text, font, canvas, TextFormatFlags.WordBreak);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top