В отличие от ответа, описанного Джастином, мне не удалось отобразить всплывающую подсказку дольше 5 секунд, используя метод show
.
Одним из других зависаний, которые у меня были, было свойство AutomaticDelay
. Короче говоря - если вы хотите, чтобы пользовательский AutoPopDelay
сделать не установить AutomaticDelay
.
При установке этого свойства автоматически устанавливается ... см. MSDN :
AutoPopDelay = 10 x AutomaticDelay
InitialDelay = AutomaticDelay
ReshowDelay = (0,2) x AutomaticDelay
Вот код, который работал для меня:
ToolTip tt = new ToolTip();
private void someObjectName_MouseHover(object sender, EventArgs e) {
tt = new ToolTip
{
AutoPopDelay = 15000, // Warning! MSDN states this is Int32, but anything over 32767 will fail.
ShowAlways = true,
ToolTipTitle = "Symbolic Name",
InitialDelay = 200,
ReshowDelay = 200,
UseAnimation = true
};
tt.SetToolTip(this.someObjectName, "This is a long message");
}
Бонус:
private void someObjectName_MouseLeave(object sender, EventArgs e)
{
tt.Active = false;
}