2008-10-11 7 views
2

J'ai des problèmes avec quelque chose que je pensais être facile ... Je ne peux pas obtenir mon NotifyIcon pour montrer un pourboire de ballon. Le code de base est:Ballon ne pas apparaître avec NotifyIcon.ShowBalloonTip

public void ShowSystrayBubble(string msg, int ms) 
{ 
    sysTrayIcon.Visible = true; 
    sysTrayIcon.ShowBalloonTip(20, "Title", "Text", ToolTipIcon.None); 
} 

Rien ne se produit lorsque j'exécute ce code. J'ai lu que l'argument timeout peut être en secondes ou ms, je ne peux pas le dire, donc j'ai essayé les deux et aucun ne fonctionne. J'utilise WinXP .NET 3.5.

Répondre

9

Je m'étais déjoué ... Cela s'est avéré être un problème au niveau de l'OS. J'avais précédemment désactivé tous les ballons via le registre il y a quelques semaines.

Vous pouvez lire les informations ici sur la façon de désactiver les infobulles dans Windows XP: http://support.microsoft.com/kb/307729

Pour les activer, il suffit de définir la valeur de Registre à 1 au lieu et à la connexion à nouveau/redémarrage.

2

Vous devriez alors enregistrer les messages pour les utilisateurs qui ont désactivé les ballons pouvoir les consulter en cas de besoin. Si vous pouvez obtenir des autorisations pour lire le registre, vous pouvez vérifier la valeur et agir en conséquence (pas pour modifier la valeur, mais pour vous connecter ou montrer le ballon).

+0

Nice, grâce à l'amélioration. -g – greg7gkb

1

S'il vous plaît voir cela, il couvre toutes les combinaisons de clics de souris avec NotifyIcon ainsi que beaucoup plus. Le code est situé dans un modèle et le paramètre du projet est piloté afin que vous puissiez implémenter la logique NotifyIcon dans tous vos projets sans aucun effort de codage.

Plus ici

http://code.msdn.microsoft.com/TheNotifyIconExample