none
linkLabels como botones RRS feed

  • Pregunta

  • Hola! buenas tardes,
    A falta de botones en mi aplicación para WM Standard, estoy usando linklabels. Me andan bárbaro y son muy funcionales. Combinados con las softkeys hacen que pueda darle la funcionalidad que necesito en la aplicación.
    Al obtener el foco, el linklabel es rodeado por una línea de puntos. Esta línea no es muy visible, sobre todo para usuarios de mayor edad.

    La pregunta puntual es la siguiente: Cómo puedo hacer, para que esa línea sea más gruesa, o que cambiar de color el fondo del link o cambiar el color de la letra del linklabel. Cualquier cosa que haga que el control resalte cuando tenga el foco.
    No quisiera tener que usar el gotfocus y el lostfocus para cada uno de los linklabels que uso, sino que busco algo que sea más facil de implementar en toda la aplicación.

    Espero haber sido claro
    Desde ya muchas gracias !
    Saludos

    jueves, 3 de septiembre de 2009 21:37

Respuestas

  • Hola guilloth,

    para cambiar el color de la letra del linkLabel, basta con cambiar su propiedad ForeColor. Puedes ver las propiedades del control en modo diseño, seleccionas el control y pulsas F4. Allí podrás cambiar la fuente, el tamaño, el color etc..

    Otra opción es create una clase que herede de LinkLabel y utilizar tu control en vez del LinkLabel. De esa forma puedes controlar todos los aspectos.
    Te pongo un ejemplo:

    public class link : LinkLabel
        {
            public override Color BackColor
            {
                get
                {
                    return base.BackColor;
                }
                set
                {
                    base.BackColor = value;
                }
            }
    
            public override Color ForeColor
            {
                get
                {
                    //Si esta seleccionado mostramos un color u otro
                    if (Focused)
                        return base.ForeColor;
                    else
                        return Color.Red;
                }
                set
                {
                    base.ForeColor = value;
                }
            }
        }

    Espero que te sirva!

     


    En caso de que la respuesta te sirva, porfavor, márcala como válida

    Muchas gracias y suerte!


    Javier Jiménez Roda


    MCP (Microsoft Certified Professional)
    MCTS (Microsoft Certified Technology Specialist)
    MCPD (Microsoft Certified Professional Developer)
    Blog: http://jimenezroda.wordpress.com

    • Marcado como respuesta guilloth sábado, 5 de septiembre de 2009 14:04
    viernes, 4 de septiembre de 2009 11:30

Todas las respuestas

  • Hola guilloth,

    para cambiar el color de la letra del linkLabel, basta con cambiar su propiedad ForeColor. Puedes ver las propiedades del control en modo diseño, seleccionas el control y pulsas F4. Allí podrás cambiar la fuente, el tamaño, el color etc..

    Otra opción es create una clase que herede de LinkLabel y utilizar tu control en vez del LinkLabel. De esa forma puedes controlar todos los aspectos.
    Te pongo un ejemplo:

    public class link : LinkLabel
        {
            public override Color BackColor
            {
                get
                {
                    return base.BackColor;
                }
                set
                {
                    base.BackColor = value;
                }
            }
    
            public override Color ForeColor
            {
                get
                {
                    //Si esta seleccionado mostramos un color u otro
                    if (Focused)
                        return base.ForeColor;
                    else
                        return Color.Red;
                }
                set
                {
                    base.ForeColor = value;
                }
            }
        }

    Espero que te sirva!

     


    En caso de que la respuesta te sirva, porfavor, márcala como válida

    Muchas gracias y suerte!


    Javier Jiménez Roda


    MCP (Microsoft Certified Professional)
    MCTS (Microsoft Certified Technology Specialist)
    MCPD (Microsoft Certified Professional Developer)
    Blog: http://jimenezroda.wordpress.com

    • Marcado como respuesta guilloth sábado, 5 de septiembre de 2009 14:04
    viernes, 4 de septiembre de 2009 11:30
  • Gracias Javier,
    Ya lo implementé con la clase, como dijiste y puedo hacer lo que quiero!
    sábado, 5 de septiembre de 2009 14:05