我如何添加提示或工具提示到C#Winforms中的标签?
看来Label
没有Hint
或ToolTip
或Hovertext
属性。 那么当鼠标靠近Label
时,首选的方法是显示一个提示,工具提示或hover文本?
您必须首先向您的表单添加一个ToolTip
控件。 然后,您可以设置其他控件应显示的文本。
下面是添加名为toolTip1
的ToolTip
控件后的devise器截图:
yourToolTip = new ToolTip(); //The below are optional, of course, yourToolTip.ToolTipIcon = ToolTipIcon.Info; yourToolTip.IsBalloon = true; yourToolTip.ShowAlways = true; yourToolTip.SetToolTip(lblYourLabel,"Oooh, you put your mouse over me.");
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip(); ToolTip1.SetToolTip( Label1, "Label for Label1");
只是另一种方式来做到这一点。
Label lbl = new Label(); new ToolTip().SetToolTip(lbl, "tooltip text here");
只是为了分享我的想法…
我创build了一个自定义类来inheritanceLabel类。 我添加了一个私有variables作为Tooltip类和一个公共属性TooltipText。 然后,给它一个MouseEnter委托方法。 这是使用多个Label控件的简单方法,无需担心为每个Label控件分配Tooltip控件。
public partial class ucLabel : Label { private ToolTip _tt = new ToolTip(); public string TooltipText { get; set; } public ucLabel() : base() { _tt.AutoPopDelay = 1500; _tt.InitialDelay = 400; // _tt.IsBalloon = true; _tt.UseAnimation = true; _tt.UseFading = true; _tt.Active = true; this.MouseEnter += new EventHandler(this.ucLabel_MouseEnter); } private void ucLabel_MouseEnter(object sender, EventArgs ea) { if (!string.IsNullOrEmpty(this.TooltipText)) { _tt.SetToolTip(this, this.TooltipText); _tt.Show(this.TooltipText, this.Parent); } } }
在窗体或用户控件的InitializeComponent方法(devise器代码)中,将Label控件重新分配给自定义类:
this.lblMyLabel = new ucLabel();
此外,更改devise器代码中的私有variables引用:
private ucLabel lblMyLabel;