在鼠标悬停时制作标签下划线
Posted
技术标签:
【中文标题】在鼠标悬停时制作标签下划线【英文标题】:Making label underline on mouse hover 【发布时间】:2014-01-18 15:49:50 【问题描述】:当我用鼠标输入标签时,我需要在标签下划线。我怎样才能做到这一点?我尝试了几个选项,但没有奏效。谁能告诉我该怎么做?
【问题讨论】:
你有没有尝试过?这是winforms、wpf还是别的什么? 地铁?表格? WPF?银光?视窗电话? ASP.NET?单触? 对不起,没有提到。我正在开发 WinForms 【参考方案1】:您可以使用标签的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);
【讨论】:
【参考方案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);
【讨论】:
【参考方案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);
【讨论】:
以上是关于在鼠标悬停时制作标签下划线的主要内容,如果未能解决你的问题,请参考以下文章