Comment puis-je supprimer une info-bulle liée à un contrôle?
Je suis actuellement à l'ajout d'une info-bulle à l'étiquette comme suit:
ToolTip LabelToolTip = new System.Windows.Forms.ToolTip();
LabelToolTip.SetToolTip(this.LocationLabel, text);
Quand j'ai besoin de changer cette info-bulle que le texte de l'étiquette de changements, j'ai essayer de faire la même chose à ajouter une nouvelle info-bulle. Malheureusement, la vieille info-bulle reste sous la nouvelle, qui est vraiment ennuyeux. Est-il une méthode pour enlever la vieille info-bulle, ou devrais-je viens de faire une nouvelle étiquette lorsque je veux modifier le texte dans un label?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Créer une instance unique de la
ToolTip
et de les utiliser quand vous le souhaitez montrer à l'aide de laSetToolTip
méthode et l'utilisationMasquer
méthode pour le cacher. En général, il n'est pas nécessaire de créer plus d'unToolTip
instance.J'ai modifié Gavin Stevens code afin de le rendre toutes statique comme suit:
Maintenant vous n'avez plus à instancier un ToolTipHelper (donc il n'a pas besoin pour le constructeur), et donc vous pouvez maintenant accéder à partir de n'importe quel classe comme ceci:
Également utile avec la version est à son tour une info-bulle sur et en dehors, vous pouvez simplement mettre en
tt.Active
vrai ou faux.modifier
Encore amélioré sur ce point:
Alors maintenant, la définition d'une info-bulle à partir de n'importe où dans le programme est juste une ligne:
Si vous n'avez pas besoin d'accéder à la vieille fonctions, vous pouvez les combiner et/ou de les rendre privés, de sorte que le
SetToolTip()
est le seul que vous n'avais jamais utiliser.Utilisation:
Simplement supprimer l'info-bulle du contrôle, vous pouvez modifier la classe comme ceci:
et utilisez cette commande:
L'info-bulle de l'objet de travaux dans plusieurs Commandes en même temps.