2010-08-19 33 views
5

J'ai un NotifyIcon qui signale les mises à jour téléchargeables de l'application. Je veux que la page de téléchargement s'ouvre sur un clic gauche sur le NotifyIcon et sur un clic gauche sur le ballon NotifyIcon (à l'écran pendant 10 secondes). Cependant, lorsque je gère l'événement BalloonTipClicked, je n'arrive pas à déterminer s'il s'agit d'un clic gauche ou d'un clic droit. Ainsi, alors que le ballon est toujours à l'écran et que l'utilisateur clique avec le bouton droit de la souris sur l'icône, j'obtiens à la fois le menu contextuel et l'ouverture de la page de téléchargement. Comment puis-je détecter le bouton droit de la souris a été utilisé?NotifyIcon.BalloonTipClicked événement et les boutons de la souris

+1

Je ne pense pas qu'il soit possible de distinguer le bouton gauche ou droit de la souris dans ce cas. Voir une question similaire ici: http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/6af876d8-543e-409a-9d6e-c7dd8fb5efc7 –

+0

Eh bien, merci, je suppose. Un peu décevant cependant ... –

Répondre

7

Vous pouvez essayer de tester l'état de la souris avec le code comme ceci:

private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e) { 
     if ((Control.MouseButtons & MouseButtons.Right) == MouseButtons.Right) 
      MessageBox.Show("Right button clicked"); 
    } 

Je ne peux pas le tester sur ma machine avec Win7, un clic droit sur le ballon rejette juste et affiche le menu contextuel de la barre des tâches. Quel est votre ultime ennemi juré?

+0

Ahh bien sûr. L'événement Clicked est déclenché/avant/l'état du bouton de la souris ne renvoie plus aucun. Merci! –