NotifyIcon et ContextmenuTrip: evenement du click de droite [Résolu]

jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 3 sept. 2008 à 20:38 - Dernière réponse : jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention
- 3 sept. 2008 à 22:39
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.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 3 sept. 2008 à 21:35
3
Merci
'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

Merci cs_casy 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de cs_casy
Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 3 sept. 2008 à 21:36
3
Merci
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

Merci cs_casy 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de cs_casy
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 3 sept. 2008 à 20:51
0
Merci
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
Commenter la réponse de cs_casy
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 3 sept. 2008 à 21:02
0
Merci
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.
Commenter la réponse de jeromedu01
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 3 sept. 2008 à 22:39
0
Merci
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.
Commenter la réponse de jeromedu01

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.