Просто чтобы поделиться своей идеей ...
Я создал собственный класс для наследования класса Label.Я добавил приватную переменную, назначенную в качестве класса Tooltip, и открытое свойство TooltipText.Затем дал ему метод делегата MouseEnter.Это простой способ работы с несколькими элементами управления Label, и вам не нужно беспокоиться о назначении элемента управления Tooltip для каждого элемента управления Label.
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 пользовательского элемента управления (код Designer) переназначьтеэлемент управления Label для пользовательского класса:
this.lblMyLabel = new ucLabel();
Кроме того, измените ссылку на частную переменную в коде конструктора:
private ucLabel lblMyLabel;