2010-03-08 14 views
5

que utilizan este código para dibujar texto en un panel:Gráficos en C# (.NET)

Graphics g = panel1.CreateGraphics(); 
g.DrawString(...); 

así que quiero saber el tamaño del texto de entrada será cuando se representa en el panel.

Respuesta

7

Usa g.MeasureString() para obtener el ancho de una cadena en el contexto gráfico.

// Set up string. 
string measureString = "Measure String"; 
Font stringFont = new Font("Arial", 16); 

// Measure string. 
SizeF stringSize = new SizeF(); 
stringSize = e.Graphics.MeasureString(measureString, stringFont); 
+0

Bien, esto es nuevo para mí. – Finglas

+0

Un par de puntos que me gustaría limpiar: 1) = new SizeF(); es innecesario aquí; 2) es una buena práctica eliminar las fuentes (y muchos otros objetos gráficos) como stringFont.Dispose() o usar la instrucción "using". – Zenya

1

También puede utilizar TextRenderer.MeasureText que a veces es más fácil de usar que MeasureString.

+0

Pero solo es exacto si usa TextRenderer.DrawText – Eric

Cuestiones relacionadas