[VB.net] click button ou entree de clavier

Bonjour,

j'ai un petit programme, et je veux que quand je clique sur ENTREE du clavier exécute le code qui est dans "button1_click" par exemple .

comment faire pour qu'un button a le meme role qu'un click sur un button ?

Merci d'avance :)

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Si je comprend bien tu veut que quant tu appuie sur entrée tu execute le code du Bouton_Click1

    Il te Suffit de faire une procedure

    Sub Taprocédure()

    Le code Du Bonton

    EndSub

    Et ensuite dans l'event click du bouton tu fais Taprocedure() puis dans l'event KeyPress de la forme tu fais

    If e.Key = Entrée Then
    Taprocedure()
    Endif
    1. merci pour la réponse :)

      Le principe de déclarer une procédure je l'ai compris, mais :

      1 - où je dois la déclarer ?
      2 - le code pour utiliser ENTREE n'a pas marcher.

      Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
      If e.Key = entree Then

      End If
      End Sub

      Le vb ne reconnait e.key (mais e.keychar) ??
  2. e.key = entrée je pense que l'erreur viens la
    il ne faut pas tapez entrée mais e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Enter)
    1. Salut,
      J'essayerai et je te tiens au courant. Merci pour ta réponse.
      A+
      1. salut,
        ce code ne marche pas pour moi!!!le e va se declarer par quoi,il n'accepte ni string,ni integer!!!
        merci pour l'aide
        1. Salut,

          le "e" est déjà déclaré par défaut, dans la ligne :

          Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

          Meme comme même j'arrive pas à résoudre mon probleme :(
      2. Même avec ce que vous dite ca ne marche pas ,pas d'erreur mais ca marche pas
        1. Si le code marche parfaitement je viens de le refaire peut tu poster ton code pour voir ou est le probleme STP
          1. Meci Nicko pour la reponse déja ,donc voila mon code c'est une interface pour le login mdp

            Private Sub Form_KeyPress(KeyAscii As Integer)
            If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Enter) Then
            Taprocedure
            End Sub

            Private Sub Valider_Click() '*** le click du boutton valider
            Taprocédure'*** l'appel de la procedure entrée
            If Strings.Trim(txtutilisateur) = "" Then
            MsgBox "Veuillez saisir votre nom d'utilisateur", vbInformation, "AGM"
            txtutilisateur.SetFocus
            Exit Sub
            End If
            If Strings.Trim(txtpasse) = "" Then
            MsgBox "Veuillez saisir votre Mot de passe", vbInformation, "AGM"
            txtpasse.SetFocus
            Exit Sub
            End If
            connect
            Set rs = New ADODB.Recordset
            rs.Open "Select * from T_password where login like '" & txtutilisateur & "' and password like '" & txtpasse & "'", cn, 1, 2
            If rs.EOF Then
            MsgBox "Accès refusé " & vbCrLf & " Le nom d'utilisateur ou le mot de passe sont incorrect", vbCritical
            Exit Sub
            End If
            'Le champ administrateur respecte la case
            If rs.Fields(2) = "Administrateurs" Then
            F_menu_principal.Show
            F_principal.Administrateur.Visible = True
            user.Text = txtutilisateur
            Me.Hide
            Else
            F_menu_principal.Show
            F_principal.Administrateur.Visible = False
            user.Text = txtutilisateur
            Me.Hide
            End If
            rs.Fields!date_acces = Date
            rs.Fields!heure_acces = Time
            rs.UpdateBatch
            rs.Close
            End Sub

            Sub Taprocédure()
            If Strings.Trim(txtutilisateur) = "" Then
            MsgBox "Veuillez saisir votre nom d'utilisateur", vbInformation, "AGM"
            txtutilisateur.SetFocus
            Exit Sub
            End If
            If Strings.Trim(txtpasse) = "" Then
            MsgBox "Veuillez saisir votre Mot de passe", vbInformation, "AGM"
            txtpasse.SetFocus
            Exit Sub
            End If
            connect
            Set rs = New ADODB.Recordset
            rs.Open "Select * from T_password where login like '" & txtutilisateur & "' and password like '" & txtpasse & "'", cn, 1, 2
            If rs.EOF Then
            MsgBox "Accès refusé " & vbCrLf & " Le nom d'utilisateur ou le mot de passe sont incorrect", vbCritical
            Exit Sub
            End If
            'Le champ administrateur respecte la case
            If rs.Fields(2) = "Administrateurs" Then
            F_menu_principal.Show
            F_principal.Administrateur.Visible = True
            user.Text = txtutilisateur
            Me.Hide
            Else
            F_menu_principal.Show
            F_principal.Administrateur.Visible = False
            user.Text = txtutilisateur
            Me.Hide
            End If
            rs.Fields!date_acces = Date
            rs.Fields!heure_acces = Time
            rs.UpdateBatch
            rs.Close
            End Sub

            Merci Nicko
            1. mets ton bouton valider comme bouton par defaut dans les proprietes de la form et du coup tu n'auras plus besoin tu code Keypress