Menu contextuel sur l'onglet d'un TabControl

Résolu
CyberPhilippe Messages postés 4 Date d'inscription samedi 26 novembre 2011 Statut Membre Dernière intervention 29 novembre 2011 - 26 nov. 2011 à 16:16
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 - 30 nov. 2011 à 06:54
Bonjour,

J'ai le développement sous C# (avec .Net bien évidemment) pour retourner vers le C++ (MFC) que j'ai pratiqué depuis 1992. J'ai cependant utilisé C# de 2001 à 2006 avant le retour à C++.

Je voudrais avoir un menu contextuel en cliquant avec le bouton droit sur un onglet de mon TabControl...

J'ai donc essayé avec le designer de VS... Je passe bien dans la méthode, je filtre bien le clique droit "if (e.Button == MouseButtons.Right)" mais tous mes efforts ont vains.

J'ai bien lu la doc MSDN mais je n'ai rien compris... ou pas grand'chose.

Dois-je utiliser le contrôle ContextMenuStrip du designer et si oui comment ou faut-il que je le construise à la volée dans ma méthode MouseClick de ma classe ou encore dériver la classe TabControl.

D'avance merci.

Cordialement.

Philippe.

PS : un petit projet d'exemple (du genre exerce de style) serait le bienvenu si ce n'est pas trop abuser.

6 réponses

Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
27 nov. 2011 à 09:42
Bonjour,

dans la fenêtre de design de ton formulaire, tu double-cliques sur le contrôle ContextMenuStrip dans la boite à outils.
Il va se placer dans une zone sous le formulaire.
Tu le sélectionnes et son interface graphique (encore vierge) s'affiche dans le formulaire.
Tu te laisses guider par l'assistant pour créer ton menu.
Ensuite tu sélectionnes le(s) contrôle(s) pour le(s)quel(s) tu veux associer ce menu, dans la fenêtre de propriétés tu cherches ContextMenuStrip, tu cliques sur la petite flèche qui t'invite à ouvrir une liste déroulante et tu choisi ton ContextMenuStrip.

Voilà!

Whismeril
3
CyberPhilippe Messages postés 4 Date d'inscription samedi 26 novembre 2011 Statut Membre Dernière intervention 29 novembre 2011
27 nov. 2011 à 10:15
Merci bien pour ta réponse rapide.

Je teste immédiatement.

Philippe
3
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
27 nov. 2011 à 10:19
De rien,
pense à indiquer "Accepter" sur le post, si ma réponse te convient.
N'hésite pas à demander un complément si besoin
Whismeril
3
CyberPhilippe Messages postés 4 Date d'inscription samedi 26 novembre 2011 Statut Membre Dernière intervention 29 novembre 2011
27 nov. 2011 à 10:31
Voila qui est fait.

Désolé de ne pas pouvoir accentuer tous les caractères, je suis actuellement sur ma tablette Android.

Philippe
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CyberPhilippe Messages postés 4 Date d'inscription samedi 26 novembre 2011 Statut Membre Dernière intervention 29 novembre 2011
29 nov. 2011 à 23:50
J'ai testé et ça marche... sauf que je pense que je devrais filtrer les contrôles concernés... car ça marche dans les onglets ainsi que toute la TabPage... je vais tenter d'en faire mon affaire dans la méthode MouseClick qui va bien.

Merci, jusque là ça m'a bien avancé... la suite au prochain épisode

Encore merci.

Philippe
3
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
30 nov. 2011 à 06:54
Bonjour,

dans le contextmenu il y a un événement au moment de l'ouverture (onopen ou opening ou quelque chose comme ça), dans lequel tu dois pouvoir lui dire de ne pas s'ouvrir.



Whismeril
3
Rejoignez-nous