Me gustaría saber si hay un mejor enfoque para este problema. Quiero cambiar el tamaño de una etiqueta (verticalmente) para acomodar cierta cantidad de texto. Mi etiqueta tiene un ancho fijo (unos 60 caracteres de ancho antes de que deba envolver), unos 495 píxeles. La fuente también tiene un tamaño fijo (12 puntos afaik), pero el texto no.Determinar el tamaño de etiqueta en función de la cantidad de texto y el tamaño de fuente en Winforms/C#
Lo que quiero hacer es aumentar la Altura de etiqueta cuando hay una "Nueva línea" o el texto debe envolver; la idea es que el texto sea completamente visible en la etiqueta. El tamaño automático no funciona porque crecerá en ancho, no en alto.
Por supuesto que podría contar el número de NewLines y agregar: Newlines * LineHeight, y luego-dado que logro poner 60 caracteres por línea, solo divida el número de caracteres y agregue tantos píxeles LineHeight como sea necesario.
Me preguntaba si había una forma más profesional de hacerlo. ¿Mi enfoque es demasiado "cojo"?
Gracias de antemano.
+1 de mí, también, pero vamos! Math.Ceiling? Ratón, conoce al obús. :) – MusiGenesis
@MusiGenesis - asegura que redondeamos y no perdemos ningún pixel. Los rounds normales del elenco se redondean hacia abajo, pero sí: podríamos agregar uno para estar seguros ... –
Sé que esto es muy antiguo, y sé que estoy picando, pero este hilo http://stackoverflow.com/ questions/6704923/textrenderer-measuretext-and-graphics-measurestring-mismatch-in-size parece indicar que, en circunstancias normales, TextRenderer.MeasureText proporciona un resultado más preciso que Graphics.MeasureString. – RenniePet