2010-10-04 11 views
3

En C#, comment puis-je afficher une info-bulle jusqu'à ce que la souris sorte de la zone d'info-bulle. Peu importe le délai que je lui ai laissé rester affiché.Info-bulle Reste affiché

J'ai essayé de modifier les propriétés AutoPopDelay, InitialDelay et ReshowDelay à 0, mais la seule façon de voir est de définir le délai à une valeur très élevée, ce qui n'est pas ce que je recherche.

+0

Winforms, webforms ou WPF? – Oded

+0

C'est une application winform. – Frank

Répondre

5

Ce n'est pas possible. Le contrôle Windows natif a un comportement codé en dur pour que l'astuce disparaisse quand elle a été affichée assez longtemps. Il n'y a aucun moyen de contourner ce comportement.

Une info-bulle permanente est une étiquette.

+2

Je n'ai pas besoin d'une infobulle "permanente", juste une info-bulle qui reste tant que la souris est immobile. Et au-dessus de cela, si je change le AutoPopDelay pour laisser dire 50 sec. il disparaît après 5 sec. de toute façon à cause de la propriété AutomaticDelay. Y a-t-il un moyen de régler manuellement le délai à une ou deux minutes sans changer les propriétés InitialDelay, ReshowDelay et AutomaticDelay? – Frank

+4

Il ignorera silencieusement votre valeur AutoPopDelay si vous lui attribuez une valeur supérieure à 32767. Trente-deux secondes suffisent pour l'extraire. Assurez-vous que le texte de votre astuce est suffisamment court ou suffisamment clair pour permettre à l'utilisateur de le comprendre dans ce laps de temps. Cinq secondes est idéal. –

+0

Ok, donc en clair, si l'objet ToolTip ne fait pas ce que je veux/ai besoin. Je devrais créer le mien. – Frank

0

JB, vous pouvez écrire un comportement attaché (par exemple: similaire à la classe .Net ToolTipService) et vous avez un contrôle total quand pour montrer cacher la pointe de l'outil comme une question de mise au point . Cependant, je pense que vous pouvez toujours obtenir cela avec le ToolTipService.ShowDuration et en le définissant int.Max (ce qui serait quelque chose comme 20 jours ...)

+0

Ceci n'est pas une application WPF. –