Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Making label underline on mouse hover

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?

like image 463
MarisP Avatar asked Dec 31 '13 18:12

MarisP


3 Answers

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); 
like image 184
Pierre-Luc Pineault Avatar answered Oct 30 '22 09:10

Pierre-Luc Pineault


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);
}
like image 2
CAbbott Avatar answered Oct 30 '22 09:10

CAbbott


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);
        }
like image 2
Amit Bisht Avatar answered Oct 30 '22 10:10

Amit Bisht