当我用鼠标输入标签时,我需要使标签下划线。我怎样才能做到这一点?我尝试了几个选项,但它没有用。谁能告诉我怎么做?
答案 0 :(得分:13)
您可以使用标签的MouseEnter
和MouseLeave
事件来修改Font
使用过的
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);
}
如果您不需要修改字体名称或大小,可以直接使用new Font(label1.Font, FontStyle.Underline)
此外,如果您需要添加多个样式,可以使用|
运算符:
label1.Font = new Font(label1.Font.Name, label1.Font.SizeInPoints, FontStyle.Underline | FontStyle.Bold);
答案 1 :(得分:2)
您可以使用MouseEnter
和MouseLeave
事件,如下所示:
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);
}
答案 2 :(得分:2)
使用此。
设置一个新的Font of Instance
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);
}