A differenza della risposta descritta da Justin, non sono riuscito a ottenere il Descrizione per visualizzare più a lungo dei 5 secondi utilizzando il metodo show
.
Uno degli altri hangup che stavo avendo era la proprietà AutomaticDelay
. Per farla breve, se si desidera personalizzare AutoPopDelay
fare non impostare AutomaticDelay
.
impostazione di questa proprietà sarà automaticamente set ... see MSDN:
AutoPopDelay = 10 x AutomaticDelay
InitialDelay = AutomaticDelay
ReshowDelay = (0.2) x AutomaticDelay
Ecco il codice che ha funzionato per me:
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");
}
Bonus:
private void someObjectName_MouseLeave(object sender, EventArgs e)
{
tt.Active = false;
}
Pensato allo stesso. O semplicemente per provare a impostare 'ShowAlways' su' true' come soluzione alternativa. –
+1 buona risposta diretta e per elencare quale sia il valore predefinito. – aevanko
@Justin - Si scopre che, nonostante la documentazione, non c'è nulla che ti impedisca di impostare un ritardo più lungo, e funziona. L'ho impostato su 20.000 millisecondi e è rimasto in piedi a lungo. [Utilizzo di .NET 3.5] Un utente StackOverflow chiamato "Panny" ha rilevato che il ritardo massimo che è possibile impostare è 32.767 millisecondi, dovuto a problemi int con firma a 16 bit e così via. – ManEatingCheese