[SOLUCIONADO] Problema al subrayar un Label con espacios en blanco al inicio del texto

Iniciado por <ИΘZIЭ(ŦB>, 23 Marzo 2011, 04:39 AM

0 Miembros y 1 Visitante están viendo este tema.

<ИΘZIЭ(ŦB>

Qué tal compañeros!

Me presento por aquí por un problema que se acaba de presentar. Alguien una vez me contradijo porque dije que Visual Basic tenía errores, pero sigo pensando que así es. Este caso en particular me lo confirma.

Resulta que tengo un UserControl con un Label dentro que funciona como un hipervínculo, solo que se muestra subrayado al pasar el mouse sobre él; de resto se muestra con fuente regular. En eso no tengo problema. El asunto está cuando el Label tiene espacios en blanco al inicio de su propiedad Text: se subraya todo, hasta los espacios en blanco, y es un problema porque cuando le dejo esos espacios es porque le asigno un icono (Image) al principio.
Ahora bien, ¿por qué digo que esto es un error de VB? Pues muy sencillo: porque cuando estaba diseñando mi UserControl en mi proyecto tipo ClassLibrary, y lanzaba el compilador para probar el funcionamiento de mi control no pasaba eso; es decir, los espacios en blanco iniciales no se subrayaban; vino a ocurrir después que di por terminado el diseño del control y lo usé en un formulario de un proyecto normal tipo WindowsForms.
Así pues, no tengo idea de qué pasa. ¿Sabrán ustedes? ¿Tendré que configurar algo que no sé? De verdad les agradezco una ayuda.

raul338

Y si en lugar de poner espacios en blanco lo "mueves mas al costado"? Con la propiedad Left

<ИΘZIЭ(ŦB>

Pues por lo que ya mencioné: el espacio es para que el texto no converja con el ícono que le asigno. Por eso me interesa saber por qué en el UserControl compilado solo se subraya el texto, pero en el formulario se subraya todo. Debe haber alguna diferencia configurable entre los dos tipos de proyecto, y es lo que quiero saber.

seba123neo

no es un error, el espacio tambien digamos es un caracter y lo toma como tal, por mas que no se vea y por eso lo subraya, para eso crete un picturebox al lado el label y listo.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

<ИΘZIЭ(ŦB>

Jeje! De verdad aprecio su interés pero no están respondiendo la pregunta. Si vuelven a leer, dije que en un proyecto lo hace como quiero, y el otro no. ¿Qué quiere decir eso? Que existe una manera de configurarlo. De hecho, se hace con una propiedad del Label que ya descubrí, pues no me di por vencido descartando la posibilidad de lograr lo que quería. Lo único que tuve que hacer fue esto: Label1.UseCompatibleTextRendering = True y listo. Ahora no me subraya los espacios en blanco del inicio, justo como quería. Y para no tener que hacerlo cada vez que cargo el control a un formulario se lo asigné en el evento New del mismo, en mi librería de controles. Mejor imposible.
Así que tomen nota de la propiedad cuando la necesiten.
Saludos.