Comment puis-je limiter la commande de zone de texte pour permettre uniquement les valeurs 0 et 1? p>
merci. Et j'ai une autre question: comment puis-je désactiver la désactivation de texte de Presse-papiers dans mon contrôle de zone de texte? P>
3 Réponses :
Vous voudrez peut-être voir la réponse à cette question connexe: p>
Validation d'entrée C # Entrée pour une zone de texte: flotter P >
à l'aide de l'événement paramètre Vous pouvez en savoir plus sur KeyPressEventargs sur MSDN. P> NOTE STROND> P> KEYS.DELETE doit couvrir les touches. .Backspace et autres boutons "arrière". P> p> keypress code>
e.handled code> à true / faux indique si le caractère doit être accepté à la Boîte ou non. P>
Mieux ceci: e.handled = (e.keychar == Keys.d0) || (E.KeyChar == Keys.d1); Code>
@Abatishchev - haha, intelligent. :-RÉ
@abatischev, n'oubliez pas le nombre de numéros. :)
Vous devriez également prendre soin de la backpace et supprimer
Touches directionnelles? languette? Et si elles veulent coller avec Ctrl + V?
@ ADAM0101: Essayez avant de demander;) KeyPress code> ne sera pas tiré sur la touche Supprimer, les flèches ou l'onglet. Oui, CTRL + C / CTRL + V bot fonctionnera, mais CNTRL + INS / SHIFT + INS sera.
@ Adam0101, a refactore un peu. Vous pouvez maintenant utiliser Suppr Key, BackSpace, 0, 1 Numpad 0 et 1.
Cliquez avec le bouton droit sur la zone de texte et sélectionnez Coller.
@Hans, en fait une solution consisterait à utiliser Supprimètre protégé Void WNDProc (réfé Message M) code> et vérifier les messages de pâte / copie. Mais alors vous devriez remplacer la zone de texte et faire cela. Une autre solution consiste à remplacer l'événement textchanged et à simplement ajouter une boucle qui vérifie chaque caractère et supprime les problèmes incorrects. Pour rendre l'exemple un peu simple, je ne l'ajouterai pas, il y a suffisamment d'informations dans ce dernier commentaire. :)
Si vous souhaitez afficher les chiffres plutôt qu'un chèque ou quelque chose que vous voulez uniquement autoriser 0 ou 1, vous pouvez utiliser un Si vous avez besoin d'une zone de texte, j'utiliserais la réponse de Filip, mais je définirais le numericupdown code> Contrôle et définissez min et à 0 max sur 1 max à 1 et pas sur 1 . p>
maxlength code> de celui-ci pour éviter d'avoir à vous inquiéter de 00, 11 ou 01 ou des valeurs similaires. < / p>
+1 - Je pense personnellement que c'est la meilleure réponse, vraiment. Et si vous le souhaitez comme une chaîne, utilisez bien .tostring () - et vous avez terminé. (et si petit code aussi!)
Je serais intéressé de connaître votre réponse à la question de Sean, car je ne peux franchement pas penser à un cas d'utilisation de moi-même.
J'ai présumé qu'il demandait à l'utilisateur une chaîne binaire, par exemple. 1001001
01010111 01101000 01101000 01100001 0110100100 00100000 01101001 01111001 01101111111111111111111111111111111111111100110011111111111111111111111111111111111100100100100100111111110010010010010010010010010010010010010010010010010010010010010010010010011001100110011111111111100110011 00111111
"Et si tu veux faire ça?" - Ce serait un cas parfait.
Je ne connais pas la génératriceyPetea, mais j'ai utilisé Leetkkey - un charmant add-on pour Firefox. :-)
01010111 01101000 01100101 01100101 00100001 00100000 01001111 01101110 01100101 01110011 00100000 01100001 01101110 01100100 00100000 01011010 01100101 01110010 01101111 01110011 00100000 01100111 01100001 01101100 01101111 01110010 01100101 00100001 00100000 00111010 00101101 00101001