L'infobulle C # ne s'affiche pas assez longtemps
J'ai une info-bulle qui apparaît au survol de la souris hover sur une image:
ToolTip tt = new ToolTip();
protected virtual void pictureBox_MouseHover(object sender, EventArgs e)
{
tt.InitialDelay = 0;
tt.SetToolTip(this.pictureBox, "Click 'LIVE ...");
}
Mon problème est que mon texte est assez long, et l'info-bulle disparaît trop vite. Comment puis-je obtenir la pointe de l'outil à l'affiche plus longtemps?
source d'informationauteur Jerome
Vous devez vous connecter pour publier un commentaire.
Définir laAutoPopDelay
de la propriété être quelque chose de plus élevé - la valeur par défaut est de 5000 (5 secondes)Mise à jour: de Mon erreur:
De sorte que vous ne pouvez pas obtenir l'info-bulle pour être affiché pendant plus de 5 secondes en utilisant cette méthode, vous devez plutôt utiliser le Montrer explicitement afficher l'info-bulle lorsque l'utilisateur survole le contrôle picturebox. Remplacer l'appel à
SetToolTip
avec l'un deShow
dans votreMouseHover
gestionnaire d'événement:Définir la valeur de propriété AutoPopDelay
ToolTip.Show(text, [control], time in milliseconds)
est ce dont vous avez besoin je pense queCela vous permettra d'afficher votre texte long pour un nombre de millisecondes. Aussi, si vous le texte est trop long, alors vous pourriez inerte
NewLine
entre le texte de sorte que sa enveloppé et n'apparaît plus comme une longue bulle d'aide s'étendre à travers le formulaire deContrairement à la réponse décrit par Justin, je n'ai pas été en mesure d'obtenir l'info-bulle à l'écran pendant plus de 5 secondes, à l'aide de la
show
méthode.L'un de l'autre décrochements j'ai eu a été la
AutomaticDelay
de la propriété. Longue histoire courte, si vous voulez personnaliséAutoPopDelay
ne pas ensembleAutomaticDelay
.La définition de cette propriété sera automatiquement ensemble... voir MSDN:
Voici le code qui a fonctionné pour moi:
Bonus:
J'ai trouvé ce qui suit les étapes de travail pour moi:
Ensemble de la automaticdelay à 1/10 de votre choix autopopdelay.
Ensuite, vous pouvez ajuster votre initialdelay et du reshowdelaypar la suite.
MSDN Lien