Error extraño con Label

26/09/2009 - 17:53 por Alberto | Informe spam
Tengo el siguiente código:

Label l = new Label();

l.AutoSize = true;
l.Font = new Font("Microsoft Sans Serif", 18);
l.Text = letra.ToString();;

Lo extraño en que, a pesar de tener Autosize = true, la etiqueta siempre
tiene un tamaño de 100. La letra que le vuelco en la última instrucción es
precisamente eso: una letra y aún así tiene un ancho de 100.

No le encuentro explicación. ¿Alguien me puede ayudar?
Muchas gracias
 

Leer las respuestas

#1 SoftJaén
26/09/2009 - 19:23 | Informe spam
"Alberto" escribió:

l.AutoSize = true;

Lo extraño en que, a pesar de tener Autosize = true, la etiqueta siempre
tiene un tamaño de 100. La letra que le vuelco en la última instrucción es
precisamente eso: una letra y aún así tiene un ancho de 100.

No le encuentro explicación. ¿Alguien me puede ayudar?



Pues sí tiene su explicación, y es que ese es el ancho por defecto que tiene
el control Label. :-)

Si deseas que el valor «true» de la propiedad AutoSize surta efecto, tienes
que añadir el control al formulario:

this.Controls.Add(l);
this.Text = l.Size.ToString();

De ésta manera, observarás que el ancho del control Label ya es inferior a
100. Pero si no especificas el valor «true» a la propiedad AutoSize, su
ancho por defecto es de 100.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares