Autoselect d'un bouton?

Résolu
ProgArmor Messages postés 29 Statut Membre -  
 Utilisateur anonyme -
Hellow people,

Je suis en train de faire un application qui comporte un login, seulement je voudrais savoir comment faire pour que même quand l'utilisateur clique sur un textbox pour y écrire, que le bouton de connection reste sélectionné. En bref, je voudrais que l'utilisateur n'aie seulement à appuyer sur enter quand il a fini d'écrire ses informations de login.

Merci

4 réponses

  1. Utilisateur anonyme
     
    Bonjour

    la solution exacte dépendra de quel VB?
    • VBS
    • VBA -> à préciser:
      • Word
      • Excel
      • Access
      • Powerpoint
      • Autre
    • VB6 (ou antérieur, à préciser)
    • VB.Net - préciser la Framework et ->
      • Winform
      • WPF


    Cependant, si l'utilisateur tape dans un textBox c'est forcement ce contrôle qui a le focus.
    Donc c'est par ce contrôle qu'il faut gérer.
    Pour simplifier (même si en vb.net c'est facile de contourner, ça l'est moins pour les autres langages), le code de login ne doit pas être dans le click du bouton mais dans une autre sub (logguer par exemple).
    Quand on clique sur le bouton, ça appelle logeur.

    En cours de frappe les évènements (KeyPress, KeyDown et KeyUp) sont générés, il suffit de surveiller si enter est frappé, et quand ça arrive ça appelle logguer.

    1
  2. ProgArmor Messages postés 29 Statut Membre 1
     
    1. Déjà c'est du Visual Basic, en Windows forms,
    2. Peut tu me dire les étapes pour faire ce que tu me disais avec le logger ? J'ai pas tout saisi...

    Merci
    0
  3. Utilisateur anonyme
     
    En VBA un truc comme ça

    Private Sub butLogin_Click()
       Logguer
    End Sub
    
    Private Sub Logguer()
       'code pour se logguer
    End Sub
    
    Private Sub tbxPassword_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        If KeyCode = 13 Then
            Logguer
        End If
    End Sub
    

    0
    1. ProgArmor Messages postés 29 Statut Membre 1
       
      alors, j'ai esayer ton code.
      J'ai remplacé le mien  >

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      If TextBox1.Text = "ProgArmor" And TextBox2.Text = "mdp" Then
      CentreDeControle.Show()
      Hide()
      Else
      Erreur.Show()
      Button2.Visible = True
      End If
      End Sub


      par le tien.
      je ne savais pas quoi écrire sur ton code là ou tu avais mis un commentaire alors j'avais écris

      textbox1.text = "ProgArmor" and textbox2.text = "mdp"

      et ça n'a pas fonctionné
      0
  4. Utilisateur anonyme
     
    Alors déjà, garder les noms par défaut des contrôles, c'est pas conseillé.
    Pour le développement et la maintenance à venir, il est plus simple de mettre un bout de texte qui représente le type de contrôle et un autre qui représente l'utilité (ce que j'ai fait dans nom exemple)

    Puisque tu utilises tout ça
    If TextBox1.Text = "ProgArmor" And TextBox2.Text = "mdp" Then
         CentreDeControle.Show()
         Hide()
    Else
         Erreur.Show()
         Button2.Visible = True
    End If

    Pour te logguer, pourquoi n'avoir changer mon commentaire uniquement par
    textbox1.text = "ProgArmor" and textbox2.text = "mdp" 
    ?

    PS pour la coloration syntaxique, il faut préciser que ton code est du basic, voir ici https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
    0
    1. ProgArmor Messages postés 29 Statut Membre 1
       
      1. Je ne suis pas sur de comprendre ce que tu veux dire par "changer les noms par défault des controles, a savoir que jai appris a coder le vb sur le tas
      2. je nai changer ton commentaire uniquement par ça parce que je ne savais pas par quoi le changer ^^
      0
    2. Utilisateur anonyme
       
      ce que je veux dire c'est textBox1 quand t'en as plein c'est pas parlant, et dans 2 ans encore moins.
      tbxPassword c'est clair, tbx pour textBox et password à quoi il sert.
      Mais ça n'est qu'un conseil.

      Ensuite, mon commentaire est donc à remplacer par ça
      If TextBox1.Text = "ProgArmor" And TextBox2.Text = "mdp" Then
           CentreDeControle.Show()
           Hide()
      Else
           Erreur.Show()
           Button2.Visible = True
      End If
      0
    3. ProgArmor Messages postés 29 Statut Membre 1
       
      j'ai essayé, mais j'ai cette érreur
      Gravité Code Description Projet Fichier Ligne État de la suppression
      Erreur BC30002 Le type 'MSForms.ReturnInteger' n'est pas défini. Login C:\Users\ProgA\source\repos\OSPX\Login\Form1.vb 24 Actif
      0
    4. Utilisateur anonyme
       
      Ha pardon, j'ai lu trop vite ton type de vb....

      Donc, en VB.Net tu laisse ton code de connexion dans le bouton
      et dans le KeyUp du textbox
              If e.KeyCode = Keys.Enter Then
                  Button1_Click(Nothing, Nothing)
              End If
      
      0
    5. ProgArmor Messages postés 29 Statut Membre 1
       
      je copie ce code ou?
      0