2010-11-08 4 views
1

Je suis face à un problème simple qui me dérange ...Utilisation de MaskedTextBox avec le texte

J'ai un MaskedTextBox et je veux que l'utilisateur soit en mesure d'entrer 3 chiffres à la fin:

" Ma boîte de texte masquée: XXX "

Ce texte va être traduit. Le problème est, ce contrôle utilise la recette de Microsoft pour valider l'entrée et dans cet exemple, l'affichage final ressemblera à ceci:

« Mon M_sked Text Box: _ »

La lettre « a » est considéré comme un caractère de contrôle au lieu d'un simple caractère de texte. Je peux backslasher mais quand le texte est traduit je dois le faire à nouveau et je pense qu'il est ridicule d'avoir à faire quelque chose comme ça ...

J'espère que je être clair ...

Merci en avance pour votre aide!

+1

Utilisez-vous "A" ou "a" comme caractère de masque? Si c'est le cas, pourquoi ne pas utiliser "0" ou "9" selon que le chiffre est obligatoire ou facultatif? –

+0

Mmm, laissez-moi vous expliquer à nouveau ... Je veux que l'entrée soit 3 valeurs numériques requises. Mais je veux insérer un texte avant les valeurs, comme: "Mes valeurs: 000" mais Microsoft utilise mon "a" comme un masque au lieu d'un simple caractère de texte ... Par conséquent, dans mon MaskedTextBox, je reçois "Mes v_lues : ___ ". J'espère que ma deuxième explication est meilleure! –

+1

Pourquoi ne pas ajouter le texte en tant qu'Étiquette avant la zone de texte? –

Répondre

0

Le 'a' doit être cité comme littéral. Le masque doit être quelque chose comme:

My M\asked Text Box : 000

Vous devez utiliser « 9 » plutôt que « 0 » comme espace réservé pour un caractère numérique en option.

Bien sûr, tous les autres caractères qui correspondent aux options de masque doivent également être «littéraux».

http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask.aspx


Après avoir lu les commentaires que je voudrais ajouter une autre suggestion (vous avez compris clairement littéraux - le problème est votre traduction.)

Serait-il possible d'exécuter la chaînes de texte traduites à travers un filtre qui met des citations littérales dans la mesure du possible? Ce n'est pas une bonne solution, car si Microsoft ajoutait de nouveaux caractères de contrôle, cela briserait votre filtre, mais je pense que cela fonctionnerait.

Questions connexes