[VB.NET] Simuler un clique droit en faisant un clique gauche sur un bouton [Résolu]

Gabilach 201 Messages postés mercredi 2 mars 2011Date d'inscription 28 septembre 2014 Dernière intervention - 4 mars 2012 à 03:46 - Dernière réponse : cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention
- 4 mars 2012 à 18:31
Bonjour,
j'est fait des petites recherches très rapide je l'avoue, mais je n'est rien trouver à correcte et de concret à propos de ceci, comment simuler un clique droit lorsque l'on clique fauche sur un bouton.

Pour vous expliquez le comment du pourquoi, je souhaite afficher un menu contextuel quand je clique sur ce bouton, il y a déjà une propriété pour que le menu s'affiche, mais seulement avec un clique droit sur ce bouton, je voudrait donc pouvoir simuler ce "clique gauche".

Merci d'avance !

----------------------------------------------
Bonne programmation !!!
Gabilach...
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 4 mars 2012 à 15:52
3
Merci
le code d'au dessus
le menu s'affiche à droite du button
la syntaxe
 ContextMenu.Show(x ,y)


à toi de definir x et y
où veux tu afficher le menu par rapport à ton
bouton ?

Merci cs_ShayW 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de cs_ShayW
Meilleure réponse
Gabilach 201 Messages postés mercredi 2 mars 2011Date d'inscription 28 septembre 2014 Dernière intervention - 4 mars 2012 à 16:13
3
Merci
Problème résolu ! Enfaite j'avais oublier d'ajouter la location de la form à celle du bouton pour que le menu s'affiche au bonne endroit, donc un grand merci à toi , au finale sa donne sa :

Private Sub Button1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseClick
        ContextMenu.Show(Me.Location.X + Button1.Location.x, Me.Location.y + Button1.Location.y)
End Sub


----------------------------------------------
Bonne programmation !!!
Gabilach...

Merci Gabilach 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de Gabilach
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 4 mars 2012 à 07:40
0
Merci
Bonjour,
Je vois deux possibilités :
- intervertir les fonctionnalités de la souris (possible par une fonction de l'api de Windows) lorsque le contrôle concerné a le focus
ou
- intercepter le Mouse_down et simuler alors l'utilisation du bouton droit (sendkeys ou autre)

Mais est-ce vraiment recommandable ?
La première est carrément gênante (i panne, etc ...)
La seconde est moins lourde de conséquences, mais est de nature à surprendre l'utilisateur et (en tout état de cause) à l'empêcher de saisir, etc ...


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 4 mars 2012 à 10:09
0
Merci
Bonjour

la question est pourquoi veux tu te servir du
clique gauche et non du clique droit pour afficher le menu contextuel ?
Commenter la réponse de cs_ShayW
Gabilach 201 Messages postés mercredi 2 mars 2011Date d'inscription 28 septembre 2014 Dernière intervention - 4 mars 2012 à 13:41
0
Merci
Bonjour, pour répondre très clairement à ta réponse ShayW, l'utilisateur ne va pas forcément pensez à cliquer droit sur mon bouton ( c'est un bouton qui affiche rapidement des paramètres dans un menu contextuel ). Je sais, je pourrait l'indiquez, mais personnellement sa serait plus logique pour moi qu'on fasse un simple clique gauche dessus
Sinon pour Ucfoutu je vais chercher un peu au sujet de mouse down


----------------------------------------------
Bonne programmation !!!
Gabilach...
Commenter la réponse de Gabilach
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 4 mars 2012 à 15:18
0
Merci
Bonjour, pour répondre très clairement à ta réponse ShayW, l'utilisateur ne va pas forcément pensez à cliquer droit sur


tiens bah si

si tu veux avec le clique gauche

attention dans la propriété du contextmenu
de ton bouton met None

 Private Sub Button1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseClick
        ContextMenu.Show(DirectCast(sender, Button).Right + 2, DirectCast(sender, Button).Bottom + 2)
       
End Sub
Commenter la réponse de cs_ShayW
Gabilach 201 Messages postés mercredi 2 mars 2011Date d'inscription 28 septembre 2014 Dernière intervention - 4 mars 2012 à 15:41
0
Merci
Ce code marche très bien merci, mais maintenant le problème c'est que je voudrais que le menu contextuel s'affiche sur mon bouton ( avec la propriété location ), le problème est qu'il s'affiche n'importe où sur l'écran, si tu avais une petite idée de comment faire

----------------------------------------------
Bonne programmation !!!
Gabilach...
Commenter la réponse de Gabilach
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 4 mars 2012 à 18:31
0
Merci
 ContextMenu.Show(Me.Location.X Button1.Location.x, Me.Location.y + Button1.Location.y)



puisque le button1 se trouve dans ta form
équivalent à dire

 ContextMenu.Show(Button1.Location.x,  Button1.Location.y)

comme tu as écrit
le contextmenu va recouvrir ton bouton puisque tu
le positionne au meme coordonnée que le bouton
positionne le en dessous ou à droite
tu as button1.left button1.top button1.bottom
button1.right

button1.location.x équivalent à button1.left
button1.location.y "" " button1.top
Commenter la réponse de cs_ShayW

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.