NotifyIcon et ContextmenuTrip: evenement du click de droite

[Résolu]
Signaler
Messages postés
52
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
23 février 2010
-
Messages postés
52
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
23 février 2010
-
Bonjour a tous.
Dans mon application j'ai une notificationIcone qui apparait en bas a droite de l'ecran.
J'ai associe a cette notification un menu contextuel (ContextMenuTrip).
Malheureusement je ne parviens pas a separer l'evenement click de gauche et celui de droite sur la notification icon? est-ce une limitation de VB? (existance de .click ou .doubleclick ... mais pas clickDroite, click gauche)

J'ai besoin de faire cela car lorsque je click a gauche sur ma notification icon mon menu contextuel apparait en haut a gauche de l'ecran. Si je fais un click de droit le menu apparait au bon endroit (En bas a droite) et le probleme n'est ensuite pas reproductible avec un clic de gauche (pour simplifier l'erreur apparait si l'on clique a gauche la premiere fois.)
Voici un bout de mon code.
Je vous remercie par avance.

'Configuration de l'icone de notification

AddHandler TheNotifyIcon.Click,
AddressOf TheNotifyHandlerRMB

'AddHandler TheNotifyIcon.BalloonTipClicked, AddressOf MyNotifyHandler

TheNotifyIcon
.ContextMenuStrip = TheContextMenu

End
With

End
Sub

Sub TheNotifyHandlerRMB()TheNotifyIcon.ContextMenuStrip.Show()

End
Sub

Merci,
Jerome.

5 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
'Configuration de l'icone de notification


AddHandler TheNotifyIcon.MouseClick, AddressOf TheNotifyHandlerRMB

'AddHandler TheNotifyIcon.BalloonTipClicked, AddressOf MyNotifyHandler
TheNotifyIcon.ContextMenuStrip = TheContextMenu

EndWith

EndSub

PrivateSub TheNotifyHandlerRMB(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs)

If e.Button = Windows.Forms.MouseButtons.Right Then TheContextMenu.Show()

EndSub







---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Alors normalement le code est censé être indenté et colorisé, dsl !

Marche pas très bien l'outil de colorisation de CodeS-SourceS

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Utilise plutôt l'évènement MouseClick.

Dans la structure e passée en paramètre tu récupère l'attribut Button qui indique quel bouton de la souris est à l'origine du click

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
52
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
23 février 2010

Merci beaucoup de cette réponse.
Cependant et au risque d'être insistant aurais-tu un exemple démontrant comment récupérer l'attribut dans le handler et de l'utiliser?
Dans mon cas j'aimerais dire:

If clickDroite then open contextmenutrip
else nothing

J'ai beau essayé mais n'arrive pas à mes fins.

Merci encore,
Jerome.
Messages postés
52
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
23 février 2010

Super !!!!
Cela fonctionne parfaitement.
Grace a toi j'ai compris l'interet du passage d'arguments dans les handler....
Je vais maintenant pouvoir continuer ma progression dans ce domaine...
Mille merci encore et bravo pour cette rapidite...
Bonne soiree

Merci,
Jerome.