-
TextBox et Texte Fixe
Bonjour,
J'aimerais avoir une partie Fixe dans une TextBox c'est-a-dire une partie non éditable .
Exemple :
TEST252 est le texte dans ma box , ou juste 252 est éditable de sorte que si je fais MsgBox(textBox.Text), cela affiche 252.
Une idée ?
Merci
-
Pourquoi ne pas mettre simplement un label devant le textbox avec le texte fixe ?
L'autre solution est de créer ton propre contrôle héritant de Textbox et qui implémente ce fonctionnement.
-
Oui d'accord mais quel serait le meilleur moyen de procédé pour créer ce composant ?
-
Comme je t'ai dit, tu crées un contrôle qui hérite de textbox, tu gères les évenements d'appui sur les touches pour vérifier que l'utilisateur n'efface pas le texte fixe. Ensuite tu peux créer une nouvelle propriété qui renvoie le texte sans la partie fixe.
-
La solution par contrôle des entrées clavier me semble assez délicate.
Il faut aussi penser a controler les éventuels sélections de texte de l'utilisateur par la souris.
Etc... (Beaucoup de code a droite a gauche)
Le plus robuste est sans doute de fabriquer un controle perso (une fois bien encapsulé tu pourras l'oublier)
- 1 Label dont le BorderStyle est fixé a None
- 1 TextBox dont le BorderStyle est fixé a None
- 1 Conteneur
- La TextBox se comporte en tous points comme une TextBox
- Les propriétés Fonts des 3 controles sont liées
- Le Width du Label découle du Texte qu'il affiche
- Le Width du TextBox occupe le reste de la zone cliente du conteneur
- Le Label se place a gauche ou a droite suivant la propriété TextAlign du TextBox
- Etc ...