Die QuickInfo ist eigentlich ein WinForms-Steuerelement, mit dem QuickInfos für mehrere Elemente in einem einzigen Formular angezeigt werden.
Angenommen, Ihre Schaltfläche heißt MyButton.
Fügen Sie Ihrem Formular ein ToolTip-Steuerelement (unter Allgemeine Steuerelemente in der Windows Forms-Toolbox) hinzu.
Geben Sie ihm einen Namen - sagen Sie MyToolTip
Setzen Sie die Eigenschaft "Tooltip on MyToolTip" von MyButton (unter "Verschiedenes im Eigenschaftenraster der Schaltfläche") auf den Text, der angezeigt werden soll, wenn Sie den Mauszeiger darüber halten.
Der Tooltip wird automatisch angezeigt, wenn sich der Cursor über der Schaltfläche befindet. Wenn Sie ihn jedoch programmgesteuert anzeigen müssen, rufen Sie ihn auf
MyToolTip.Show("Tooltip text goes here",MyButton)
in Ihrem Code, um den Tooltip anzuzeigen, und MyToolTip.Hide (MyButton), damit er wieder verschwindet.
Schön, aber eine Frage: Wenn ich mehr als eine Schaltfläche in einem Formular habe, benötige ich mehr Tooltip oder kann ich mehrere Beschreibungen und Schaltflächen für denselben Tooltip festlegen?
Ghiboz
8
Ihr Formular benötigt nur ein einziges ToolTip-Steuerelement - jede Schaltfläche kann einen anderen Hilfetext haben (aus diesem Grund ist der "Tooltip auf MyToolTip" eine Eigenschaft des zugehörigen Steuerelements, nicht des ToolTip-Steuerelements selbst)
Dylan Beattie
2
Im einfachsten Fall ist es am besten, den Tooltip zum Formular hinzuzufügen. Problem: Zum Entwurfszeitpunkt eines benutzerdefinierten Steuerelements haben Sie keinen Verweis auf das übergeordnete Formular. Lösung: Erstellen Sie ein Tooltip-Objekt im Steuerelement. Stellen Sie sich das ToolTip-Objekt nicht als unbedingt an das Formular angehängt vor.
Stéphane Gourichon
93
Verwenden des Formular-Designers:
Ziehen Sie das ToolTip-Steuerelement aus der Toolbox auf das Formular.
Wählen Sie die Eigenschaften des Steuerelements aus, auf dem die QuickInfo angezeigt werden soll.
Suchen Sie die Eigenschaft 'ToolTip on toolTip1' (der Name lautet möglicherweise nicht toolTip1, wenn Sie den Standardnamen geändert haben).
Stellen Sie den Text der Eigenschaft auf den QuickInfo-Text ein, den Sie anzeigen möchten.
Sie können den Tooltip auch programmgesteuert mit dem folgenden Aufruf einstellen:
Ein angepasster Tooltip kann auch verwendet werden, wenn für Tooltip-Nachrichten eine Formatierung erforderlich ist. Dies kann durch benutzerdefiniertes Formatieren des Formulars erstellt und als QuickInfo-Dialogfeld für das Maus-Hover-Ereignis des Steuerelements verwendet werden. Bitte überprüfen Sie den folgenden Link für weitere Details -
Fauler und kompakter Speichern von Text in der Tag- Eigenschaft
Wenn Sie etwas faul sind und die Tag- Eigenschaft der Steuerelemente für nichts anderes verwenden, können Sie damit den Tooltip-Text speichern und allen Steuerelementen auf einmal MouseHover- Ereignishandler zuweisen :
In diesem Fall wird allen Schaltflächen mit einer Zeichenfolge in der Tag- Eigenschaft ein MouseHover- Ereignis zugewiesen . Um es kompakt zu halten, wird das MouseHover- Ereignis mithilfe eines Lambda-Ausdrucks inline definiert. Für den Fall, dass bei einer schwebenden Schaltfläche der Tag- Text dem Tooltip zugewiesen und angezeigt wird.
Das .NET Framework bietet eine ToolTip-Klasse. Fügen Sie eine davon zu Ihrem Formular hinzu und führen Sie dann im MouseHover-Ereignis für jedes Element, für das Sie einen Tooltip wünschen, Folgendes aus:
Während dieses Code-Snippet die Frage lösen kann, hilft das Hinzufügen einer Erklärung wirklich, die Qualität Ihres Beitrags zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in Zukunft beantworten und diese Personen möglicherweise die Gründe für Ihren Codevorschlag nicht kennen.
Sicher, behandeln Sie einfach das Mousehover-Ereignis und weisen Sie es an, einen Tooltip anzuzeigen. t ist ein Tooltip, der entweder in den Globals oder im Konstruktor definiert wird mit:
Ich denke, Sie wurden abgewählt, weil dies nicht die Möglichkeit ist, ToolTip-Steuerelemente in Windows Forms zu verwenden. Sie benötigen nur ein solches Steuerelement im Formular und es werden die Tipps für alle Steuerelemente angezeigt. Siehe Code in den anderen Antworten.
Julian Melville
1
Ich denke, die Erklärung stimmt nicht mit dem Code überein. In der Erklärung, die ich gesagt habe, wird sie angezeigt, und im Code habe ich sie ebenfalls initialisiert. Mein Fehler. : P
Fry
2
@ julianz Eigentlich funktioniert dies gut, wenn Sie spezielle Tooltips haben, die je nach Status dynamisch sein können (abzüglich natürlich der Erstellung - verzeihen Sie mir, ich habe nur versucht, alles in einen Block zu packen.) Wie bei anderen Antworten auf a ähnliche Ader ... yshuditelu und Dylan Beattie waren ähnlich, wenn auch ohne die Instanziierung.
Antworten:
Die QuickInfo ist eigentlich ein WinForms-Steuerelement, mit dem QuickInfos für mehrere Elemente in einem einzigen Formular angezeigt werden.
Angenommen, Ihre Schaltfläche heißt MyButton.
Der Tooltip wird automatisch angezeigt, wenn sich der Cursor über der Schaltfläche befindet. Wenn Sie ihn jedoch programmgesteuert anzeigen müssen, rufen Sie ihn auf
in Ihrem Code, um den Tooltip anzuzeigen, und MyToolTip.Hide (MyButton), damit er wieder verschwindet.
quelle
Verwenden des Formular-Designers:
Sie können den Tooltip auch programmgesteuert mit dem folgenden Aufruf einstellen:
quelle
Sie können die ToolTip-Klasse verwenden:
Erstellen einer QuickInfo für ein Steuerelement
Beispiel:
quelle
new ToolTip().SetToolTip(this.Button1, "Hello");
Für den Standard-Tooltip kann dies verwendet werden -
Ein angepasster Tooltip kann auch verwendet werden, wenn für Tooltip-Nachrichten eine Formatierung erforderlich ist. Dies kann durch benutzerdefiniertes Formatieren des Formulars erstellt und als QuickInfo-Dialogfeld für das Maus-Hover-Ereignis des Steuerelements verwendet werden. Bitte überprüfen Sie den folgenden Link für weitere Details -
http://newapputil.blogspot.in/2015/08/create-custom-tooltip-dialog-from-form.html
quelle
Fauler und kompakter Speichern von Text in der Tag- Eigenschaft
Wenn Sie etwas faul sind und die Tag- Eigenschaft der Steuerelemente für nichts anderes verwenden, können Sie damit den Tooltip-Text speichern und allen Steuerelementen auf einmal MouseHover- Ereignishandler zuweisen :
In diesem Fall wird allen Schaltflächen mit einer Zeichenfolge in der Tag- Eigenschaft ein MouseHover- Ereignis zugewiesen . Um es kompakt zu halten, wird das MouseHover- Ereignis mithilfe eines Lambda-Ausdrucks inline definiert. Für den Fall, dass bei einer schwebenden Schaltfläche der Tag- Text dem Tooltip zugewiesen und angezeigt wird.
quelle
Das .NET Framework bietet eine ToolTip-Klasse. Fügen Sie eine davon zu Ihrem Formular hinzu und führen Sie dann im MouseHover-Ereignis für jedes Element, für das Sie einen Tooltip wünschen, Folgendes aus:
quelle
quelle
Basierend auf DaveKs Antwort habe ich eine Steuerungserweiterung erstellt:
Anschließend können Sie den Tooltip für jedes Steuerelement mit einer einzelnen Zeile festlegen:
quelle
Sicher, behandeln Sie einfach das Mousehover-Ereignis und weisen Sie es an, einen Tooltip anzuzeigen. t ist ein Tooltip, der entweder in den Globals oder im Konstruktor definiert wird mit:
dann der Event-Handler:
quelle