Code pour action de touche clavier

Dumpy92 Messages postés 7 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 30 avril 2011 - 29 avril 2011 à 22:52
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 - 30 avril 2011 à 14:51
Bonsoir à tous !

J'ai cherché sur google, j'ai pas réussi à trouver ce que je cherchai. Enfait, je fais une application où je voudrais que quand l'utilisateur appui par exemple sur la touche "2" ça fasse telle action. Je cherche donc le code pour indiquer que lorsque la personne va cliquer sur tel touche, ça va faire telle action.
Enfait, je cherche ce genre de code :
 Private Sub BoutonVirg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BoutonVirg.Click

mais pour une touche.

Merci d'avance à tous et bonne soirée =)

13 réponses

NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
29 avril 2011 à 23:27
Bonjour,

Et tu bloques sur quoi ?
Donnes plus d'info, on ne peut pas t'aider en restant aussi vague.

0
Dumpy92 Messages postés 7 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 30 avril 2011
29 avril 2011 à 23:31
bah en fait, j'ai besoin du code. Par exemple, là le bout de code que j'ai mit indique que lorsqu'on appui sur le bouton virgule de l'application ça va faire telle action. Moi j'aimerai avoir le code pour indiquer l'action a faire lorsque j'appuie par exemple sur la touche "a" de mon clavier
0
NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
29 avril 2011 à 23:39
Bonjour,

Je vais reformuler :
Tu veux que quand on appuie sur le bouton, ça envoie une virgule dans une textbox ?

TextBox.Text+=","

0
Dumpy92 Messages postés 7 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 30 avril 2011
29 avril 2011 à 23:59
non, ça c'est déjà fait, avec un bouton que j'ai mit du côté visuel. Maintenant, je veux donner une action aux touches du clavier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
30 avril 2011 à 00:01
bonsoir,
tu devrais regarder les évènements KeyPress,KeyDown...
petit exemple:
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        If e.KeyChar = "a"c Then
            MessageBox.Show("voici a!!")
        End If
    End Sub


réagis quand on appuie sur la touche 'a' et bah voilà!!

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
Dumpy92 Messages postés 7 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 30 avril 2011
30 avril 2011 à 00:12
Merci de vos réponse en tout cas mais j'ai adapté le code à ma situation, ça ne marche pas ^^
    Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        If e.KeyChar = "1"c Then
            Me.TextBox1.Text = Me.TextBox1.Text & "1"
        End If
    End Sub


Voilà le code, et quand j'appuie sur ma touche 1, rien ne se passe =/
0
NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
30 avril 2011 à 00:17
Bonjour,

Et avec KeyPreview (propriété) de la form à True ?

0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
30 avril 2011 à 00:25
essaie avec KeyDown comme ceci:
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.NumPad1 Then
            MessageBox.Show("vbfre")
        End If

'ou en connaissant le code ASCII de la touche à appuyer...en l'occurence 97 pour la touche "1" du clavier numérique
        If e.KeyValue = 97 Then
            MessageBox.Show("vbfre")
        End If
    End Sub


Bonne continuation!!
Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
30 avril 2011 à 00:32
et puis comme NHenry te l'as suggéré,n'oublies pas de mettre la propriété KeyPreview de ta form à True.

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
Dumpy92 Messages postés 7 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 30 avril 2011
30 avril 2011 à 00:36
Euh, désolé mais ça ne donne toujours rien =/
0
Dumpy92 Messages postés 7 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 30 avril 2011
30 avril 2011 à 00:41
Désolé du double post, j'ai pas compris le message :
Et avec KeyPreview (propriété) de la form à True ?
0
NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
30 avril 2011 à 00:50
Bonjour,

Normalement, dans les propriétés de la Form, il devrait y avoir une qui s'appelle KeyPreview ou un truc du genre (je n'ai pas l'IDE d'ouvert).
Tu la mets à True, normalement, ça déclenche l'event KeyPress de la Form même si un autre contrôle à le focus.

0
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
30 avril 2011 à 14:51
Essaie de tester sur une nouvelle Form.
Au niveau du code, tu essaies le code ci-dessous.
Tu devrais entendre un Beep en appuyant sur n'importe quelle touche.

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.KeyPreview = True
    End Sub

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Beep()
    End Sub

End Class


Ensuite, tu modifies l'évènement KeyDown de façon à ce qu'il ne réagisse qu'à l'enfoncement de la touche "1" du clavier :

   Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyValue = Keys.NumPad1 Then
            MessageBox.Show("Touche 1 enfoncée")
        End If
    End Sub
0
Rejoignez-nous