Creer son propre raccourci clavier

Résolu
aurelie2003 Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 8 juillet 2009 - 7 mars 2007 à 17:25
aurelie2003 Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 8 juillet 2009 - 9 mars 2007 à 04:48
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

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 mars 2007 à 11:34
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
3
aurelie2003 Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 8 juillet 2009
8 mars 2007 à 22:12
Bonjour,

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

Aurélie
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 mars 2007 à 22:15
Evreka, disent les grecs...
Alors valide la réponse (de sorte à ce qu'elle puisse servir à d'autres)
3
aurelie2003 Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 8 juillet 2009
9 mars 2007 à 04:48
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
3
Rejoignez-nous