WinForms-tooltips werden nicht angezeigt
Ich habe eine WinForms-Anwendung. Jedes Formular und Benutzer-Steuerelement-legt seine tooltips wie folgt:
//in the control constructor
var toolTip = new ToolTip();
this.Disposed += (o, e) => toolTip.Dispose();
toolTip.SetToolTip(this.someButton, "...");
toolTip.SetToolTip(this.someCheckBox, "...");
...
Jedoch die tooltips nicht angezeigt, wenn ich den Mauszeiger über die Kontrollen. Ist dies eine geeignete Möglichkeit, die tooltips verwenden? Gibt es etwas, das könnte geschehen in einem anderen Teil der Anwendung (e. g. hören zu einem gewissen Ereignis), die würde aufhören, tooltips arbeiten?
Beachten Sie, dass die tooltips auf meine äußere form der tooltip in der Statusleiste Tasten (die so konfiguriert sind, über die Schaltfläche die Eigenschaft tooltip) funktionieren wie erwartet.
EDIT:
Habe ich das beobachtet mehr, und ich habe bemerkt, dass manchmal der tooltip angezeigt wird, ist es nur sehr "flockig". Im Grunde, manchmal, wenn ich mit der Maus über ein Steuerelement, wird es zeigen sich ganz kurz und dann flackern Weg. Kann ich es auf der Karte manuell mit .Show () - und eine lange AutoPopDelay, aber dann ist es verschwindet nie!
- nicht sicher, was Sie sonst noch macht, aber dein code funktioniert für mich, sind Sie sicher, dass Sie das Benutzersteuerelement aktiviert ist?
- Muss ich explizit setzen Sie die Eigenschaft enabled auf true? Alle Schaltflächen, Textfelder, etc. auf die Steuerung funktionieren.
- Nein, Sie nicht. Es Erben die Eltern sagen. Eventuell etwas ziehen Fokus Weg von den Kontrollen. Versuchen Sie anfügen eine Prozedur, um die QuickInfo-Popup-Ereignis und sehen, ob es ausgelöst wird.
- Wieso der downvote?
- Ich habe das manchmal auch, und bin hier (wieder) auf der Suche nach Antworten. In meinem Fall der TT nicht funktioniert, bis ich das einblenden einer Registerkarte, auch wenn die Steuerung mit dem TT ist auch nicht eingebunden in das Register-Steuerelement. PS Kaum jemand sagt Ihnen, warum Sie down-vote. Es ist sehr ärgerlich. Zumindest haben die Geistesgegenwart, zu erklären, Ihre Unzufriedenheit, richtig?
- Nicht eine Antwort, aber eine Beobachtung: in meinem letzten Fall, wird ein link-label hinter einem tab-control (in den Vordergrund gebracht, der TC) würde nicht den TT, wenn ich nach dem entfernen einer Registerkarte aus der Sammlung (die Recht-die meisten in diesem Fall aber habe ich noch nicht getestet andere). Wenn ich nicht entfernen Sie die Registerkarte, oder wieder eingelegt werden, ist es angezeigt fein. Bizarr.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code scheint ok zu mir. Ich konnte nicht finden, alles, was falsch in Ihrem code. Aber, könnte es nicht nur, wenn die Regelung deaktiviert ist. BTW, können Sie versuchen, eine andere Methode wie diese. aber, ich möchte nicht vorschlagen, Sie zu zeigen, wird die QuickInfo wie diese.
Können Sie auch die Zuordnung der Stelle, wo der tooltip angezeigt werden soll, in
.Show()
Methode. es gibt einige überladene Funktion, die Sie verwenden können. Lesen Sie die msdn für weitere Informationen überToolTip.Show()
Methode.Ich Stand vor ähnlichen Problem, wenn mein tooltip war nicht zeigt sich über das RichTextBox-Steuerelement einmal in etwa 3-5 mal es normalerweise sollte. Auch zwingt es zu zeigen, die explizit mit toolTip.Zeigen nicht helfen. Bis ich geändert, um die Art und Weise erwähnte Shell - Sie haben zu sagen, wo Sie möchten, dass Ihre tooltip angezeigt:
Diese Weise mein tooltip immer erscheint wenn und wo erwartet.
Viel Glück!
Schrieb ich die folgende Methode "propagate" ToolTips von übergeordneten Steuerelementen, bei denen ein tool-tip set), um seine untergeordneten Steuerelemente (es sei denn, Sie haben Ihre eigenen übergeordneten ToolTip).
Es wurde entwickelt, um fallen gelassen werden, in die das Formular oder Steuerelement Sie mit beginnen, aber es könnte auch einfach sein, verwandelte sich in eine statische Methode, wo die "Eltern" - argument ist erforderlich.
Beachten Sie, dass das Verhalten ist nicht definiert wenn Sie mehr als eine
ToolTip
Instanz zum verwalten von übergeordneten und untergeordneten QuickInfos.