Reputation: 987
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?
Upvotes: 10
Views: 20616
Reputation: 9191
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);
Upvotes: 19
Reputation: 5136
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);
}
Upvotes: 2
Reputation: 8098
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);
}
Upvotes: 2