Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : limiter masked textboox a certains caractere [ Windows / Formulaire / Winforms / Controls ] (olibara)

lundi 5 mai 2008 à 20:33:16 | limiter masked textboox a certains caractere

olibara

Bonjour


J'ai cherché mais sans succes

Quelqu'un sait-il s'il est possible et comment d'utiliser un maskedtextbox pour limiter l'entrée a certain caracteres

Exemple trivial :

O ou N  pour Oui / Non (Yes / No)

J'ai lu et relu la doc et je n(ai rien vu qui permettait cela
Si c'est possible c'est vraiment bien caché
Si c'et pas possible c'est vraiment tres dommage et incompréhensible

Mais dans les deux cas c'est dommage qu'une possibilité aussi triviale ne soit pas mise ern évidence

lundi 5 mai 2008 à 21:09:48 | Re : limiter masked textboox a certains caractere

bubbathemaster

Tu peux controler les touches frappées dans ta textbox via l'evènement KeyPress

lundi 5 mai 2008 à 21:19:37 | Re : limiter masked textboox a certains caractere

olibara

C'est bien ce que je craignais !
Dans ce cas je considere que le maskedtextbox est completement idiot et inutile

Je vais reprendre une fonction que j'ai écrite il y a vingt ans pour controler des masque d'ecran en C et VB
et qui faisait bien plus que le malheureux  masketextbox actuel

A mon avis il on du confier le concept de cela a un ingénieur qui n'a jamais utilisé un clavier !


lundi 5 mai 2008 à 22:58:03 | Re : limiter masked textboox a certains caractere

Bidou

Administrateur CodeS-SourceS
Réponse acceptée !
La MaskedTextBox n'est pas un Control très bien conçu, personnellement je ne l'ai presque jamais utilisé!
Cela dit, on peut lui associé des expressions régulières, donc ...



-My Blog-

mardi 6 mai 2008 à 07:06:18 | Re : limiter masked textboox a certains caractere

olibara

Salut Bidou

Ben non justement je croyais, mais on ne peut PAS lui associer des expressions régulieres
C'est encore plus mauvais que tu ne le pense

mardi 6 mai 2008 à 08:12:53 | Re : limiter masked textboox a certains caractere

Bidou

Administrateur CodeS-SourceS
Ha oui on dirait bien que tu as raison...
Le mieux c'est encore de faire une validation à la main (Validator pour le web, regex avec textbox pour les winForms)



-My Blog-

mardi 6 mai 2008 à 10:12:09 | Re : limiter masked textboox a certains caractere

sebmafate

Membre Club Administrateur CodeS-SourceS
tu peux toujours te servir de l'une de mes sources pour les valider : http://www.csharpfr.com/codes/WINDOWS-FORMS-VALIDATORS_43575.aspx

Sinon, je rejoins Bidou, ce contrôle est une pure d***e... impossible de saisir quelque chose correctement !


Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]

mardi 6 mai 2008 à 10:59:07 | Re : limiter masked textboox a certains caractere

olibara

Merci a tous

J'ai aussi reçu une classe dérivée de TextBox (RegexTextBox) de Tomlev sur développez.com

Il a associé une regular expression sur TextBox je n'ai pas encore testé mais c'est en tout cas plus malin que l'original



    public class RegexTextBox : TextBox
    {
        public RegexTextBox()
        {
            regexPattern = ".*";
            regex = new Regex("^" + regexPattern + "$");
        }

        protected string regexPattern;
        protected Regex regex;

        public string RegexPattern
        {
            get { return regexPattern; }
            set
            {
                if (value != regexPattern)
                {
                    regexPattern = value;
                    regex = new Regex("^" + regexPattern + "$");
                }
            }
        }

        protected override void OnKeyPress(KeyPressEventArgs e)
        {
            if (IsInputChar(e.KeyChar) && e.KeyChar >= (char)32)
            {
                string newText = this.Text + e.KeyChar;
                if (!regex.IsMatch(newText))
                {
                    e.Handled = true;
                }
            }
            base.OnKeyPress(e);
        }

        [Browsable(false)]
        public override bool Multiline
        {
            get
            {
                return false;
            }
            set
            {
                if (value)
                    throw new NotSupportedException("RegexTextBox cannot be multiline");
            }
        }
    }



Cette discussion est classé dans : possible, caractere, limiter, masked, textboox


Répondre à ce message

Sujets en rapport avec ce message

tableau de caractere et d entier [ par Ethan75 ] Bonjour à tous,je me heurte a un probleme en C, je prend en entrée en parametre un tableau du style ((-2,0)(4,5)(10,-34).....)et je souhaiterais à pa c# et javascript [ par kach23 ] j'aimerais savoir si il est possible dans une page web d'appeler a partir d'un script c# une fonction javascript.je sais que c'esrt possible de lancer saisir au clavier [ par samih ] comment saisir au clavier caractere par caractere et non pas une chaine de caractere Creation d'un plugin IE [ par LAlex ] Salut TLM !Je suis en train d'effectuer le portage d'une application Client/Serveur en n-Tiers pour le Web. L'application existante génère un document dialogue C++ - C# [ par rintchu ] Salut,j'ai dans un meme projet une classe C++ form12et une classe C# form1.Je voudrais apartir de form1 creer une instance de form12 , est ce possible Datagrid et impression [ par space ] J'ai l'impression que mon message a etet efface si cela est veuillez svp m'envoyer un mail merci:).Sinon , le probleme en deux parties :1/ Je désire q URGENT POWERPOINT!!! [ par kurtc ] Bonjour,J'ai réalisé une présentation sur powerpoint et j'aimerai savoir s'il est possible de la graver sur un CD. Je sais que cela est possible, mais Lancer un notepad [ par rintchu ] Salut a tous,j'ai vu dans les pags precednte qu'il etait possible de lancer un notepad en lui donnant en parametre un fichier.Mais est il possible de Limiter nombre de chiffre apres la virgule [ par Pom825 ] je cherche a limiter le nombre de chiffre apres la virgule (mantisse) pour un affiche plus proprebref l'equiavalent de la fonction FormatNumber en VB. Utiliser des headers C en C# [ par vgrente ] Je voudrais savoir si il est possible d'utiliser des fichiers header développés en C en C#? Et si oui comment cela est il possible?Merci d'avance.


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.