2008-11-04 12 views

Respuesta

53

Tiene el mismo problema en esta pregunta que estaba presente en la pregunta de Java: ¡no hay suficiente información! Diferirá entre WinForms y WPF.

Para Windows Forms: Graphics.MeasureString

para WPF No estoy seguro, pero sospecho que dependerá de la forma exacta en que está dibujando el texto ...

+18

En WPF usaría FormattedText, http://msdn.microsoft.com/en-us/library/system.windows.media.formattedtext.aspx. –

+0

¿Cómo harías eso en ASP.NET? – Shimmy

+3

@Shimmy: Bueno, en ASP.NET dependerá completamente de lo que haga el navegador. Realmente no es el tipo de cosa que intentarías hacer en una aplicación web; en cambio, usarías CSS para controlar el formato. –

9

Graphics.MeasureString pero es un poco cutre, como se explica y mejora; here

61

Una alternativa para Windows Forms es el método TextRenderer.MeasureText estática.

Aunque está restringido a tamaños enteros, esto (junto con TextRenderer.DrawText) proporciona texto ClearType más exacto y de mayor calidad que el dúo Graphics.MeasureString/DrawString.

+0

Cool. Nunca he oído hablar del TextRenderer antes. – MusiGenesis

+2

Para referencia: [TextRenderer.MeasureText en MSDN] (http://msdn.microsoft.com/en-us/library/system.windows.forms.textrenderer.measuretext.aspx) –

+0

Ver este hilo: http: // stackoverflow .com/questions/6704923/textrenderer-measuretext-and-graphics-measurestring-mismatch-in-size y esta publicación de blog: http://blogs.msdn.com/b/jfoscoding/archive/2005/10/13/480632 .aspx para más información. Parece que el uso de TextRenderer.MeasureText es el método aplicable a la mayoría del uso de .Net WinForms. – RenniePet

1

Graphics.MeasureString ([texto a medida], [fuente que se utiliza para medir el texto]);

El objeto resultante proporcionará la siguiente:

properties available

Otros sobrecargas de MeasureString también disponibles.

Cuestiones relacionadas