Кажется, что у Label
них нет Hint
ни ToolTip
или Hovertext
собственности. Итак, какой метод лучше всего отображать подсказку, всплывающую подсказку или текст при наведении курсора мыши при Label
приближении к объекту мыши?
Кажется, что у Label
них нет Hint
ни ToolTip
или Hovertext
собственности. Итак, какой метод лучше всего отображать подсказку, всплывающую подсказку или текст при наведении курсора мыши при Label
приближении к объекту мыши?
Ответы:
ToolTip
Сначала вы должны добавить элемент управления в свою форму. Затем вы можете установить текст, который должен отображаться для других элементов управления.
Вот скриншот, показывающий дизайнера после добавления элемента ToolTip
управления с именем toolTip1
:
ToolTip
элемент управления может просто зарегистрировать себя для наведения указателя мыши на события и отображать правильный текст в зависимости от возникшего события. Все это происходит в фоновом режиме.
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.");
Просто чтобы поделиться своей идеей ...
Я создал собственный класс, унаследовавший от класса 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 формы или пользовательского элемента управления (код конструктора) переназначьте элемент управления Label настраиваемому классу:
this.lblMyLabel = new ucLabel();
Также измените ссылку на частную переменную в коде конструктора:
private ucLabel lblMyLabel;