Como se usa MeasureString

17/08/2008 - 17:06 por Pedro | Informe spam
Yo tengo un label al cual quiero cambiarle su propiedad Width por el valor
que me devuelva la funcion Graphics.MeasureString.

Pero no veo como llamarla ya que no me sale en el intelissense cuando pongo
Graphics.

Como es que se hace?

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
18/08/2008 - 07:52 | Informe spam
"Pedro" wrote in message
news:O12%
Yo tengo un label al cual quiero cambiarle su propiedad Width por el valor
que me devuelva la funcion Graphics.MeasureString.

Pero no veo como llamarla ya que no me sale en el intelissense cuando
pongo Graphics.

Como es que se hace?



Es un método de instancia, no un método estático de la clase Graphics.
Por eso no te sale en IntelliSense si pones "Graphics"; tienes que poner una
instancia de Graphics. Así que tienes que aplicarlo sobre el entorno gráfico
en el que estás dibujando la etiqueta.
Por ejemplo, si haces la operación durante el "OnPaint" de un
formulario, el "Graphics" the llega en el argumento e:

private void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
SizeF tamaño = g.MeasureString(...); //Aquí sí que te sale



Por cierto, si sólo lo quieres para cambiar el tamaño de un Label, no
hace falta hacer nada de esto; basta que al Label le pongas True en la
propiedad AutoSize.
Respuesta Responder a este mensaje
#2 Alberto Poblacion
18/08/2008 - 08:39 | Informe spam
En el mensaje anterior dije:
[...]
private void OnPaint(PaintEventArgs e)



Perdón, obviamente es protected override, no private.
Respuesta Responder a este mensaje
#3 Ricardo Passians
18/08/2008 - 22:22 | Informe spam
Aparte de lo que te explica muy bien Alberto, como alternativa busca en la
ayuda el método estático TextRenderer.MeasureText(...) que quizás te sirva
para lo que deseas y pueda ser más simple de manejar.

Espero te sirva,

Saludos

Ricardo Passians



"Pedro" wrote in message
news:O12%
Yo tengo un label al cual quiero cambiarle su propiedad Width por el valor
que me devuelva la funcion Graphics.MeasureString.

Pero no veo como llamarla ya que no me sale en el intelissense cuando
pongo Graphics.

Como es que se hace?

Respuesta Responder a este mensaje
#4 Pedro
19/08/2008 - 02:11 | Informe spam
Muchas gracias

"Alberto Poblacion"
escribió en el mensaje news:
En el mensaje anterior dije:
[...]
private void OnPaint(PaintEventArgs e)



Perdón, obviamente es protected override, no private.

Respuesta Responder a este mensaje
#5 Pedro
19/08/2008 - 02:11 | Informe spam
hace falta hacer nada de esto; basta que al Label le pongas True en la
propiedad AutoSize.




Si, en realidad era para un textbox fue que me confundi.

Gracias por la ayuda.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida