在鼠标悬停时制作标签下划线

Posted

技术标签:

【中文标题】在鼠标悬停时制作标签下划线【英文标题】:Making label underline on mouse hover 【发布时间】:2014-01-18 15:49:50 【问题描述】:

当我用鼠标输入标签时,我需要在标签下划线。我怎样才能做到这一点?我尝试了几个选项,但没有奏效。谁能告诉我该怎么做?

【问题讨论】:

你有没有尝试过?这是winforms、wpf还是别的什么? 地铁?表格? WPF?银光?视窗电话? ASP.NET?单触? 对不起,没有提到。我正在开发 WinForms 【参考方案1】:

您可以使用标签的MouseEnterMouseLeave 事件来修改使用的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); 

【讨论】:

【参考方案2】:

您可以像这样使用MouseEnterMouseLeave 事件:

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

【讨论】:

【参考方案3】:

使用这个。 设置一个新的字体实例

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

【讨论】:

以上是关于在鼠标悬停时制作标签下划线的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 制作动画时失去悬停(不移动鼠标)

HTML图片鼠标悬停效果设置!

内部底部白线[重复]

将鼠标悬停在菜单项上时如何下划线?

HTML+CSS制作鼠标悬停效果

在网页制作中,怎么把图片应用为动态HTML效果?当鼠标悬停时图片1换成图片2,要怎么设置?