[VB.net] click button ou entree de clavier

azerty -  
Nico# Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Nico# Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   102
     
    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
    2
    1. azerty
       
      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) ??
      0
  2. Nico# Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   102
     
    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
  3. azerty
     
    Salut,
    J'essayerai et je te tiens au courant. Merci pour ta réponse.
    A+
    0
  4. wzéna Messages postés 28 Statut Membre
     
    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
    0
    1. azerty
       
      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 :(
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Betty
     
    Même avec ce que vous dite ca ne marche pas ,pas d'erreur mais ca marche pas
    0
  7. Nico# Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   102
     
    Si le code marche parfaitement je viens de le refaire peut tu poster ton code pour voir ou est le probleme STP
    0
  8. Betty
     
    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
    0
    1. Nico# Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   102
       
      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
      0