2010-11-17 5 views
2

Salut, je suis en utilisant la chaîne de masque suivante pour vous assurer utilisateur entre un téléphone valide pasUtiliser zone de texte masqué pour valider l'entrée

(99) -00000000

qui devrait fonctionner correctement pour mobile, ainsi que des terres régionales les numéros de ligne en Australie

Cependant, j'ai rencontré un problème que l'utilisateur peut sortir sans entring tous les chiffres

Je comprends que 9 représente un chiffre facultatif entre 0 et 9 et 0 représente un chiffre requis entre 0 et 9

Alors, comment venir si je n'entrer les huit derniers chiffres obligatoires du programme affichent encore des résultats comme

(03) -6474

(03) - 63799

(02) -1 38 390

Répondre

3

Parce qu'il remplit simplement les blancs de gauche à droite au cours de la frappe. Même si les deux premiers chiffres sont facultatifs, ils les remplissent comme vous les avez saisis avec les deux premiers chiffres que vous tapez.

Si vous n'aimez pas ce comportement, vous pouvez facilement sous-classer le contrôle MaskedTextBox et personnaliser la façon dont il gère la saisie au clavier. Voici quelques contrôles d'échantillons qui provoquent le nombre de pousser de droite à gauche, comme prévu:

(Je pense que le deuxième exemple fait un meilleur travail d'expliquer exactement quels changements sont apportés au contrôle de base, plus il vous permet de voir la plupart du code pertinent sans télécharger le projet exemple.)

Questions connexes