Creer son propre raccourci clavier [Résolu]

Signaler
Messages postés
16
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
8 juillet 2009
-
Messages postés
16
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
8 juillet 2009
-
Bonjour,

Je souhaite ajouter un raccourci clavier pour un MenuItem dans un mainMenu. Le problème est que ce raccourci clavier ne fait pas partie de ceux proposés par Visual Studio .Net. Je voudrais le raccourci: CtrlD2. Comment puis-je faire?

Je vous remercie,

aurélie

4 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour Aurelie,

Je pense qu'il te faudra gérer avec les événements de ta Form elle même !

inspire-toi de ceci, que je viens de te faire, mais en VB6

Private touche1 As Boolean, touche2 As Boolean, touche3 As Boolean


Private Sub Form_Activate()
  Me.KeyPreview = True
End Sub


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  controle_touche "CTRL", "D", "2", KeyCode
End Sub


Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    touche1 = False
    touche2 = False
    touche3 = False
End Sub


Private Sub controle_touche(T1, T2, T3, KC)
  If touche1 And touche2 And touche3 Then
    touche1 = False
    touche2 = False
    touche3 = False
  End If  If T1 "CTRL" Then T1 "17"  If KC Val(T1) Then touche1 True  If UCase(Chr(KC)) T2 Then touche2 True  If UCase(Chr(KC)) T3 Or KC 98 Then touche3 = True
  If touche1 And touche2 And touche3 Then    If T1 "17" Then T1 "CTRL"
    MsgBox T1 & " " & T2 & " " & T3 & " sont présentement enfoncés simultanément"
  End If
End Sub
Messages postés
16
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
8 juillet 2009

Bonjour,

Je me suis inspirée de ce que tu as fait, ça marche parfaitement. Je te remercie.

Aurélie
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Evreka, disent les grecs...
Alors valide la réponse (de sorte à ce qu'elle puisse servir à d'autres)
Messages postés
16
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
8 juillet 2009

Voici ce que j'ai fait en VB.Net en m'inspirant donc du code précédent:

'Déclaration des variables de formulaire
Private

mblnTouche1, mblnTouche2, mblnTouche3
As
Boolean'Mettre dans les parties du code:
Me

.KeyPreview =
True 'si on veut que le raccourci clavier soit pris en compte.
Me

.KeyPreview = False 'pour ne pas prendre en compte le raccourci clavier.

Private
Sub Form_KeyDown(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.KeyEventArgs)
Handles
MyBase.KeyDown

If e.KeyCode = Keys.ControlKey
ThenmblnTouche1 =

True

End
If

If e.KeyCode = Keys.D
AndAlso mblnTouche1
ThenmblnTouche2 =

True

End
If

If e.KeyCode = Keys.D2
AndAlso mblnTouche1
AndAlso mblnTouche2
ThenmblnTouche3 =

True

End
If

If mblnTouche1
AndAlso mblnTouche2
AndAlso mblnTouche3
ThenResultatButton.PerformClick() 'Bouton pour lequel le raccourci clavier est réalisé

'On remet les variables de formulaire à false
mblnTouche1 FalsemblnTouche2

FalsemblnTouche3 =

False

End
If

End
Sub

Private
Sub Form_KeyUp(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.KeyEventArgs)
Handles
MyBase.KeyUp

' Au cas où on a seulement appuyé sur  les touches CTRL avec et/ou D et qu'on omet la touche "2" (supposons qu'on ne veuille plus de ce raccourci clavier à la dernière minute). Peut éviter des surprises si plus tard on appuie sur "2" ...

If e.KeyCode = Keys.ControlKey ThenmblnTouche1 FalsemblnTouche2

False

End
If

End
Sub

Aurélie