|
|
|||||
|
Si vous voulez contrôler tout ce qui est saisi dans un TextBox, cet article est fait pour vous. Mais il faut, pour que tout se passe bien, connaitre le fonctionnement et quelques comportements bizarres du contrôle TextBox de eVB. Le contrôle TextBox Le contrôle TexBox permet à l'utilisateur de saisir des informations textuelles. Pour le programmeur, il n'y a aucune ligne de code à taper pour que la saisie soit possible. Nous n'avons qu'à régler quelques propriétés du TextBox, à utiliser quelques méthodes, et à répondre à quelques événements pour que la saisie se passe exactement comme nous le souhaitons. Mais avec eVB, tout n'est pas toujours simple et parfois, le comportement des contrôles est différent de ce que la documentation affirme. Propriété MaxLength MaxLength est une propriété qui contrôle le nombre de caractères maximum saisissables. Cette propriété fonctionne très bien, et bloque la saisie dès que l'on veut dépasser le nombre de caractères maximum stipulés, sauf que si vous affectez un texte plus long que MaxLength à la propriété Text, le TextBox affiche tous (bug bug bug), méfiez-vous ! Propriété PasswordChar Cette propriété permet de ne pas afficher ce que l'utilisateur saisit en remplaçant tous les caractères saisis par celui stipulé par PasswordChar (c'est vraiment très pratique). Les évenements sont nos amis Pour contrôler complètement ce que l'utilisateur saisit, nous devons nous intercaller entre le clavier et la zone de saisie. Les événements générés par le TextBox sont là pour ça. Evénement KeyPress Cet événement est généré lorsque l'utilisateur tape sur une touche qui génère un caractère ascii (presque toutes les touches du clavier). Lorsque cet événement est déclenché, le caractère tapé au clavier n'est pas encore ajouté à la zone de saisie. La définition de l'événement KeyPress n'est pas correcte car le paramètre KeyAscii qui correspond au caractère tapé, est passé par valeur (ByVal) ce qui interdit sa modification, donc toute prise de contrôle sur le TextBox. Pour que celà marche, il faut remplacer le ByVal par ByRef, ce qui nous permet de modifier KeyAscii dans l'événement : Déclaration standard eVB de KeyPress (on suppose que le TextBox se nomme Text1) Private Sub Text1_KeyPress(ByVal KeyAscii As Integer) A remplacer par Private Sub Text1_KeyPress(ByRef KeyAscii As Integer) Exemple : Forcer tous les caractères tapé en majuscule Private Sub Text1_KeyPress(ByRef KeyAscii As
Integer) Voilà, une fois qu'on a contourné quelques petites erreurs de jeunesse de eVB, on peut exercer avec le TextBox un contrôle complet sur ce que l'utilisateur saisit.
|
|||||
|
|
|||||
|
Copyright 2001-2004 - Tous droits réservés
|
|||||
|
iPAQ
est un produit de COMPAQ.
|