Crecimiento de labels/etiquetas, problema

30/11/2006 - 11:55 por Alberto Tri Tri | Informe spam
Hola amigos. Estoy liado con unas etiquetas que actuan como contadores.
Crecen automaticamente (autosize=true) segun el numero de cifras del
valor de los contadores pero siempre me crecen hacia la derecha. Quiero
que me crezcan hacia la izquierda pero no lo consigo. En VB6 bastaba
con:

Label1.Autosize=True
Label1.Alignment = "Rigth Justifity"

Es decir, alineabas a la derecha y siempre crecian hacia la izquierda.

Ahora en VB.Net, la propiedad Alignment ha cambiado a TextAlign, y no
hace lo mismo, la pongas como la pongas siempre crecen hacia la
derecha.

¿Alguien me puede ayudar?

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
30/11/2006 - 12:29 | Informe spam
"Alberto Tri Tri" wrote in message
news:
Ahora en VB.Net, la propiedad Alignment ha cambiado a TextAlign, y no
hace lo mismo, la pongas como la pongas siempre crecen hacia la
derecha.



Podrías alinearla a mano. Cada vez que tengas una instrucción que le
asigne algo al Text del label, pon debajo una sentencia que haga
label1.Left=PosicionDeseadaDelBordeDerecho-label1.Width .
Respuesta Responder a este mensaje
#2 Alberto Tri Tri
30/11/2006 - 14:01 | Informe spam
Alberto Poblacion ha escrito:

Podrías alinearla a mano. Cada vez que tengas una instrucción que le
asigne algo al Text del label, pon debajo una sentencia que haga
label1.Left=PosicionDeseadaDelBordeDerecho-label1.Width .



Buena idea !! No se me habia ocurrido. Pero lo he probado y no
funciona, no por el codigo, sino por el concepto. Parece ser que la
posicion es un valor de solo lectura, es decir, queno se puede asignar.
Esto es lo que he hecho:

lblCounter.Location.X = 773 - lblCounter.Size.Width
Donde 773 es la posicion deseada del borde derecho.

Y el error me dice:
La expresión es un valor, y por lo tanto, no puede ser destino de una
expresión.

¿Se te ocurreo otra cosa?
Respuesta Responder a este mensaje
#3 Alberto Poblacion
30/11/2006 - 16:12 | Informe spam
"Alberto Tri Tri" wrote in message
news:
Parece ser que la
posicion es un valor de solo lectura, es decir, queno se puede asignar.
Esto es lo que he hecho:

lblCounter.Location.X = 773 - lblCounter.Size.Width



No, asi no vale. El Location es una estructura que contiene el Left y el
Top, y no le puedes asignar un escalar. Tienes que poner Left en lugar de
Location.
Respuesta Responder a este mensaje
#4 Carlos Gómez
30/11/2006 - 18:55 | Informe spam
lblCounter.Location=New Point(773-lblCounter.Size.Width,
lblCounter.Location.Y)




lblCounter.Location.X = 773 - lblCounter.Size.Width
Donde 773 es la posicion deseada del borde derecho.

Y el error me dice:
La expresión es un valor, y por lo tanto, no puede ser destino de una
expresión.
Respuesta Responder a este mensaje
#5 Alberto Tri Tri
01/12/2006 - 08:18 | Informe spam
Hola chicos. Efectivamente, teníais razón. Asignando la propiedad
Left ó creando un objeto Point para asignarlo a Location, funciona
perfecto. Como siempre, la ayuda de Microsoft te lía más que te
ayuda. Sobre la propiedad Left dice que es algo del espacio entre la
etiqueta y una "hoja Excel"vamos...!!!!

Parece ser mas razonable hacerlo con el objeto Point, ya que, por fin,
VB.net si es un lenguaje completamente orientado a objetos.

Lo dicho, muchas gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida