Annuler l'action par défaut d'un clic droit sur un contrôle

Signaler
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
-
Messages postés
1
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
28 juillet 2009
-
Bonjour,

La réponse doit déjà exister, donc avant de me faire tuer par un admin CS, j'ai cherché (peut-être mal) avant de poser cette question. :-)
Monpb, j'utilise un contrôle ListBar (dont je n'ai pas le code sources), le créateur de ce contrôle a donné la possibilité d'ajouter de groupe et item en mode exploitation via un menu contextuel, je ne vois pas comment virer ce menu.
Est-il possible de d'annuler l'affichage de ce menu dans l'évément control_MouseDown ?

Merci.

4 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Salut, ton contôle a t'il une propriété ContextMenu, si c'est le cas essaye ça :

myControl.ContextMenu = new ContextMenu( );

Sinon faudrait tenter d'overrider WndProc.
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
La propriété ContextMenu fait que dalle, j'ai essaie de lui associer un menu vide, rien n'a changer :-(
Donc je vais tenter WndProc.

Merci.
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

Si l'affectation d'un menu vide ne fait rien, il doit probablement géré lui même l'affichage du menu lors du mousedown/up du bouton droit.
Il est accessible publiquement ce contrôle ?

/*
coq
MVP Visual C#
*/
Messages postés
1
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
28 juillet 2009

Bonjour,

même si ce sujet est resté sans réponse, depuis hyper longtemps (plus de 3ans ), mais il m'a aidé à trouver la solution, pour le même problème,

La solution est comme l'a dit Lutinore, on affecte new ContextMenu() à la propriété ContextMenu du contrôle en question,

Mais pour que ça marche il faudrait la programmer au niveau de l'évènement MouseDown, et le tour est joué.

j'espère que cette petite solution aidera d'autres personnes,

Merci

bien cordialement