Partager via


Procédure : créer une zone de texte de mot de passe avec le contrôle TextBox Windows Forms

Une zone de mot de passe est une zone de texte Windows Forms qui affiche des caractères masqués pendant qu'un utilisateur saisit une chaîne.

Pour créer une zone de texte de mot de passe

  1. Définissez la propriété PasswordChar du contrôle TextBox sur un caractère spécifique.

    La propriété PasswordChar spécifie le caractère affiché dans la zone de texte. Par exemple, si vous souhaitez des astérisques affichés dans la zone de mot de passe, spécifiez * pour la propriété PasswordChar dans la fenêtre Propriétés. Ensuite, quel que soit le caractère qu’un utilisateur tape dans la zone de texte, un astérisque s’affiche.

  2. (Facultatif) Définissez la propriété MaxLength. La propriété détermine le nombre de caractères pouvant être tapés dans la zone de texte. Si la longueur maximale est dépassée, le système émet un bip et la zone de texte n’accepte plus de caractères. Notez que vous ne souhaiterez peut-être pas le faire, car la longueur maximale d’un mot de passe peut être utilisée pour les pirates qui tentent de deviner le mot de passe.

    L’exemple de code suivant montre comment initialiser une zone de texte qui accepte une chaîne allant jusqu’à 14 caractères et affiche des astérisques à la place de la chaîne. La procédure InitializeMyControl ne s’exécute pas automatiquement ; il doit être appelé.

    Important

    L’utilisation de la propriété PasswordChar sur une zone de texte permet de s’assurer que d’autres personnes ne pourront pas déterminer le mot de passe d’un utilisateur s’ils observent l’utilisateur qui l’entre. Cette mesure de sécurité ne couvre aucune sorte de stockage ou de transmission du mot de passe qui peut se produire en raison de votre logique d’application. Étant donné que le texte entré n’est pas chiffré de quelque manière que ce soit, vous devez le traiter comme vous le feriez pour toutes les autres données confidentielles. Même s’il n’apparaît pas comme tel, le mot de passe est toujours traité comme une chaîne de texte brut (sauf si vous avez implémenté une mesure de sécurité supplémentaire).

    Private Sub InitializeMyControl()
       ' Set to no text.
       TextBox1.Text = ""
       ' The password character is an asterisk.
       TextBox1.PasswordChar = "*"
       ' The control will allow no more than 14 characters.
       TextBox1.MaxLength = 14
    End Sub
    
    private void InitializeMyControl()
    {
       // Set to no text.
       textBox1.Text = "";
       // The password character is an asterisk.
       textBox1.PasswordChar = '*';
       // The control will allow no more than 14 characters.
       textBox1.MaxLength = 14;
    }
    
    private:
       void InitializeMyControl()
       {
          // Set to no text.
          textBox1->Text = "";
          // The password character is an asterisk.
          textBox1->PasswordChar = '*';
          // The control will allow no more than 14 characters.
          textBox1->MaxLength = 14;
       }
    

Voir aussi