Question

I need to make label underline when I enter the label with my mouse. How can I do that? I tried few options but it didn't work. Can anyone tell me how to do that?

Était-ce utile?

La solution

You can use the MouseEnter and MouseLeave events of your label to modify the Font used

private void OnMouseEnter(object sender, EventArgs e)
{
    label1.Font = new Font(label1.Font.Name, label1.Font.SizeInPoints, FontStyle.Underline); 
}

private void OnMouseLeave(object sender, EventArgs e)
{
    label1.Font = new Font(label1.Font.Name, label1.Font.SizeInPoints, FontStyle.Regular); 
}

If you do not need to modify the font name or size you can directly use new Font(label1.Font, FontStyle.Underline)

Also, if you need to add multiple styles, you can use the | operator :

label1.Font = new Font(label1.Font.Name, label1.Font.SizeInPoints, FontStyle.Underline | FontStyle.Bold); 

Autres conseils

You can use the MouseEnter and MouseLeave events like so:

private void label1_MouseEnter(object sender, EventArgs e)
{
    label1.Font = new Font(label1.Font, FontStyle.Underline);
}

private void label1_MouseLeave(object sender, EventArgs e)
{
    label1.Font = new Font(label1.Font, FontStyle.Regular);
}

Use this.
set a new Instance of Font

private void label1_MouseHover(object sender, EventArgs e)
        {
            label1.Font = new Font(label1.Font.Name, 8, FontStyle.Underline);
            label1.Font = new Font(label1.Font.Name, 8, FontStyle.Bold|FontStyle.Underline);//For Bold Also
        }   
private void label1_MouseLeave(object sender, EventArgs e)
        {
            label1.Font = new Font(label1.Font.Name, 8);
        }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top