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?

Was it helpful?

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); 

OTHER TIPS

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);
        }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top