Creer son propre raccourci clavier [Résolu]

aurelie2003 16 Messages postés mercredi 7 mars 2007Date d'inscription 8 juillet 2009 Dernière intervention - 7 mars 2007 à 17:25 - Dernière réponse : aurelie2003 16 Messages postés mercredi 7 mars 2007Date d'inscription 8 juillet 2009 Dernière intervention
- 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
Afficher la suite 

Votre réponse

4 réponses

jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 8 mars 2007 à 11:34
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jmfmarques
aurelie2003 16 Messages postés mercredi 7 mars 2007Date d'inscription 8 juillet 2009 Dernière intervention - 8 mars 2007 à 22:12
+3
Utile
Bonjour,

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

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

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.