VB.NET - Clic droit sur un bouton ?
Résolu
LexDotNet
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour
est-il possible d'éxécuter du code après avoir clic droit sur un bouton ?
pour ceux qui ne voient pas le principe, un clic gauche sur un bouton (ou un clic conventionnel) permet en principe de faire une action tel qu'ouvrir une fenêtre, une boîte de dialogue (c'est le cas pour le clic d'un bouton). Mais un clic droit permettrait de faire une autre action, type copier un fichier.
Pour ceux qui n'aiment pas shématisé, je brode un morceau de code au hasard :
Donc là on peut ouvrir une form. Mais avec le clic droit (ça n'existe pas mais admet on) on pourrait faire une autre action
Merci d'avance pour votre aide ! :)
est-il possible d'éxécuter du code après avoir clic droit sur un bouton ?
pour ceux qui ne voient pas le principe, un clic gauche sur un bouton (ou un clic conventionnel) permet en principe de faire une action tel qu'ouvrir une fenêtre, une boîte de dialogue (c'est le cas pour le clic d'un bouton). Mais un clic droit permettrait de faire une autre action, type copier un fichier.
Pour ceux qui n'aiment pas shématisé, je brode un morceau de code au hasard :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.ShowDialog()
End Sub
Donc là on peut ouvrir une form. Mais avec le clic droit (ça n'existe pas mais admet on) on pourrait faire une autre action
Private Sub Button1_RightClick(sender As Object, e As EventArgs) Handles Button1.RightClick
My.Computer.Filesystem.CopyFile(path 1, path 2)
End Sub
Merci d'avance pour votre aide ! :)
A voir également:
- VB.NET - Clic droit sur un bouton ?
- Windows 11 clic droit afficher plus d'options par défaut - Guide
- Slash droit ✓ - Forum Autres distributions Linux
- Le signe " | " dans excel - Forum Excel
- Comment faire une capture d'écran sur un samsung sans bouton ? - Guide
- Barre verticale droite sur clavier mac - Forum MacOS
2 réponses
Alors, pour ceux qui se posaient la même question que moi, ce code fonctionne :
Private Sub Button1_MouseDown(sender As Object, e As MouseEventArgs) Handles Button1.MouseDown
If e.Button = Button.MouseButtons.Left Then
Msgbox("clic gauche")
End If
If e.Button = Button.MouseButtons.Right Then
Msgbox("clic droit")
End If
End Sub
Bonjour.
C’est super de partager ta solution, encore mieux de vouloir utiliser les balises de codes.
Cependant, comme tu utilises la balise par défaut, ça donne un pavé tout gris et sans indentation
Voir ici comment bien les utiliser https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Voilà ton code, en couleur quand je précise qu’il s’agit de basic
Plutôt que faire 2 If, tu pourrais faire un if suivi d’un esle if.
En effet si c’est un click gauche, alors le test pour le click droit ne sera pas effectué. C’est donc plus rapide à l’exécution.
D’autre part, MsgBox n’est pas une instruction VB.Net. C’est un import de VB6. Les imports Vb6 marchent bien dans la majorité des cas, mais quand ça plante il est difficile de trouver pourquoi.
Je te conseille donc d’enlever l’import de VisualBasic dans tous tes projets

Plus d’infos ici
https://codes-sources.commentcamarche.net/faq/11151-pourquoi-mon-code-vb6-vba-ne-marche-pas-en-vb-net
C’est super de partager ta solution, encore mieux de vouloir utiliser les balises de codes.
Cependant, comme tu utilises la balise par défaut, ça donne un pavé tout gris et sans indentation
Voir ici comment bien les utiliser https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Voilà ton code, en couleur quand je précise qu’il s’agit de basic
Private Sub Button1_MouseDown(sender As Object, e As MouseEventArgs) Handles Button1.MouseDown If e.Button = Button.MouseButtons.Left Then Msgbox("clic gauche") End If If e.Button = Button.MouseButtons.Right Then Msgbox("clic droit") End If End Sub
Plutôt que faire 2 If, tu pourrais faire un if suivi d’un esle if.
En effet si c’est un click gauche, alors le test pour le click droit ne sera pas effectué. C’est donc plus rapide à l’exécution.
D’autre part, MsgBox n’est pas une instruction VB.Net. C’est un import de VB6. Les imports Vb6 marchent bien dans la majorité des cas, mais quand ça plante il est difficile de trouver pourquoi.
Je te conseille donc d’enlever l’import de VisualBasic dans tous tes projets

Plus d’infos ici
https://codes-sources.commentcamarche.net/faq/11151-pourquoi-mon-code-vb6-vba-ne-marche-pas-en-vb-net
oui, enfin, c'est un pissage de code que j'ai fait à l'arrache, oui en effet j'aurait pu mettre un elseif... mais si j'ai une souris à boutons programmables (reconnus comme button 4 et j'en passe) ben ça peut fausser un peu le code...
En ce qui concerne le balisage, c'est mieux que rien mais je prend tout de même note, merci encore.
Au sujet du "msgbox" je sais que c'est un import mais ça fonctionne tout de même. Merci tout de même pour l'info.
En ce qui concerne le balisage, c'est mieux que rien mais je prend tout de même note, merci encore.
Au sujet du "msgbox" je sais que c'est un import mais ça fonctionne tout de même. Merci tout de même pour l'info.
En ce qui concerne le balisage, c'est mieux que rienJe ne suis pas de ton avis.
En postant ici, tu t’adresses à des bénévoles.
Certains (dont je fais partie quand je suis de bonne composition) font l’effort de décrypter un texte indigestes de quelques lignes, mais dès que c’est un peu long, zappent la question. D’autres passent directement à une autre question.
Plus ton message est facile à lire, plus tu as de chances que quelqu’un donne de son temps pour essayer d’y répondre.
j'imagine qu'il va falloir utiliser les mouse events pour le clic gauche et droit... Je vous remercie encore ! :D