IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Comment controler le contenu d'une textBox?


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 48
    Points
    48
    Par défaut Comment controler le contenu d'une textBox?
    bonjour
    je souhaiterai eviter que dans une textBox un user saisisse des caractères(je souhaite qu'il n'y ai que des chiffres) pour ensuite m'en servir pour un calcul.
    merci d'avance

  2. #2
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Bonjour

    Sur l'évènement TextChange effetue un contrôle du contenu de la TextBox avec une Expression Régulière.

    Cordialement
    Christophe B.

  3. #3
    Membre régulier Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Points : 96
    Points
    96
    Par défaut
    je cherche la mêm chose, si tu trouve la réponse merci de la noter, je ferais de même
    il n'y a pas de réussite facile, ni d'échec définitif

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    qu'entend tu par une expression réguliere?

  5. #5
    Membre habitué Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 128
    Points
    128
    Par défaut
    Bonsoir

    La réponse n'est pas loin juste ici http://faqcsharp.developpez.com/?pag...orm_txtbox_num dans la F.A.Q toujours pensez a y faire un tour
    Capitaine Kirk.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    je pas compris ce qu'il y a de marquer dans la faq.je débute dans la programmation et je pige pas un mot.

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Points : 90
    Points
    90
    Par défaut
    essaye cette solution qui marche 100000000000%

    je veins de l'implémenter dans mon travail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     private void txtPartyPostalcode_KeyPress(object sender, KeyPressEventArgs e)
            {
                 // N'accepte que du numérique
                if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13)
                {
                    e.Handled = true;
                } 
            }

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Comment ne saisir que des caractères numériques dans mon TextBox ? [haut]

    auteur : abelman
    On se sert de l'événement KeyPress pour intercepter les caractères entrés dans le TextBox.
    La propriété Handle de la classe KeyPressEventArgs indique à l'application ce qu'il faut faire du caractère intercepté.
    Si elle vaut false, le traitement par défaut du caractère (l'affichage pour les caractères imprimables) est appliqué.
    Si elle vaut true, c'est votre code qui décide ce qu'il faut faire du caractère. Si vous ne faites rien, il ne sera pas affiché. Sa valeur par défaut est false.
    Exemple simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
        if (!char.IsDigit(e.KeyChar))
            // Tous les caractères non numériques ne sont pas traités sur le TextBox.
            e.Handled = true;
    }


    Remarquer qu' avec ce code, des touches générant un caractère non imprimable (comme la touche BACK) n'auront aucun effet sur le textbox.
    Si vous voulez faire un véritable contrôe TexBox numérique, vous devez en tenir compte, gérer le copier-coller CTRL+C et SHIFT+INS avec l'événement KeyDown, et aussi avec le clic droit (menu contextuel coller) sur la souris.
    Qu'est ce que tu n'as pas compris la dedans ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #9
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    J'ai codé mes propores controles pour des textbox numeric date monnaie et autres.......
    ajoute moi sur msn et je te send la dll
    fallysoft@hotmail.com

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    ce que je ne compren pas c'est ca
    "if (!char.IsDigit(e.KeyChar))
    {
    // Tous les caractères non numériques ne sont pas traités sur le TextBox.
    e.Handled = true
    }"
    le if c'est bon
    !char deja je comprend plus
    is digit encore moins
    le e point quelquechose c'est pareil et key char de meme.en fait tout quoi!!
    pour précision je débute dans la programmation en général merci d'etre indulgent.
    dsl mais je n'utilise pas msn.(c'est rare je sait)

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Points : 627
    Points
    627
    Par défaut
    Salut,

    bah si tu debutes, pourquoi ne pas utiliser directement du standard à savoir le NumericUpDown qui fait exactement ce que tu cherches, sans avoir à t'embeter avec des handler perso ?

  12. #12
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par shyx21 Voir le message
    bonjour
    je souhaiterai eviter que dans une textBox un user saisisse des caractères(je souhaite qu'il n'y ai que des chiffres) pour ensuite m'en servir pour un calcul.
    merci d'avance
    Regarde du coté des MaskedTextBox, tout simplement

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Regarde du coté des MaskedTextBox, tout simplement
    Effectivement, pas besoin de réinventer la roue...
    Citation Envoyé par shyx21 Voir le message
    ce que je ne compren pas c'est ca
    "if (!char.IsDigit(e.KeyChar))
    {
    // Tous les caractères non numériques ne sont pas traités sur le TextBox.
    e.Handled = true
    }"
    le if c'est bon
    !char deja je comprend plus
    is digit encore moins
    le e point quelquechose c'est pareil et key char de meme.en fait tout quoi!!
    pour précision je débute dans la programmation en général merci d'etre indulgent.
    dsl mais je n'utilise pas msn.(c'est rare je sait)
    Si tu ne comprends pas ce code, c'est que tu ne connais pas les bases du langage C#... je ne te reproche pas de débuter évidemment, ce serait idiot, mais je te conseille vivement de chercher des cours et tutoriels sur C# avant de chercher à aller plus loin, sinon tu auras beaucoup de mal à avancer !
    Pour ce qui est de "char", "IsDigit", "KeyChar", "Handled" etc, tu trouveras toutes les réponses dans la documentation du .NET Framework.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    je vous remercie pour vos réponses et je vais essayer tout vos solutions.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/01/2013, 01h08
  2. Réponses: 2
    Dernier message: 02/11/2007, 18h12
  3. [C#] Valider le contenu d'une textbox
    Par Tedd7 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/11/2005, 20h37
  4. comment effacer le contenu d'une table ttable
    Par naw dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/07/2004, 16h13
  5. Comment effacer le contenu d'une scrollbox???
    Par Leclair2000 dans le forum C++Builder
    Réponses: 2
    Dernier message: 01/07/2004, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo