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

Windows Forms Discussion :

Condition if - vérification de champs


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Condition if - vérification de champs
    Bonjour à tous et à toutes,

    J'essaie, dans une fenetre, de vérifier que les RichTextBox soient remplies, peu importe leur contenu, avant de cliquer sur un bouton Suivant pour passer à une autre fenetre.

    J'ai essayé ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    if (richtextbox1.Text == "" || richtextbox2.Text == "" || richtextbox3.Text == "" || richtextbox4 == "")            
                    b_suivant.Enabled = false;               
                else
                    b_suivant.Enabled = true;
    Comme vous l'avez sans doute remarqué, le bouton suivant ne doit se dégriser que lorsque les richtextbox soient remplies.
    Le problème est que le bouton suivant se dégrise assez aléatoirement... J'ai également essayé avec les && à la place des || mais ça ne fonctionne pas non plus comme je l'entends.

    Avez vous une solution à me proposer s'il vous plait?
    Merci d'avance

  2. #2
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    Il faut que tu t'abonnes à l'événement TextChanged de chaque richTextBox, c'est la ou tu mets ton test, comme ça ta condition sera vérifier à chaque fois que l'utilisateur modifie le texte de chaque champs.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé donc ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
            private void r1_TextChanged(object sender, EventArgs e)
            {
                if (r1.Text == "")
                    suivant.Enabled = false;
            }
            private void r2_TextChanged(object sender, EventArgs e)
            {
                if (r2.Text == "")
                    suivant.Enabled = false;
            }
            private void r3_TextChanged(object sender, EventArgs e)
            {
                if (r3.Text == "")
                    suivant.Enabled = false;
            }
            private void r4_TextChanged(object sender, EventArgs e)
            {
                if (r4.Text == "")
                    suivant.Enabled = false;
                else suivant.Enabled = true;
            }
    Alors c'est déja beaucoup mieux, mais je rencontre un dernier probleme du coup: on peut passer a Form2 si r4 seulement est remplie.

    J'ai peut etre mal compris ou mal appliqué votre recommendation...

  4. #4
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    Ca ne peut pas marcher, car à chaque fois tu vérifies un seul champs, le but est de faire toutes les vérifications à chaque fois qu'un des champs change

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void EvenementTextChanged(object sender, EventArgs e)
            {
                if (r1.Text == string.Empty || r2.Text == string.Empty || r2.Text == string.Empty || r2.Text == string.Empty)
                    suivant.Enabled = false;
                 else suivant.Enabled = true;
            }

    Il faut que les 4 champs s'abonnent à ce même événement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    r1.EvenementTextChanged+=TextChanged;
    r2.EvenementTextChanged+=TextChanged;
    r3.EvenementTextChanged+=TextChanged;
    r4.EvenementTextChanged+=TextChanged;
    Supprimes les événements que tu as généré j'imagine depuis le designer.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Le compilateur n'apprécie pas les lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    r1.EvenementTextChanged+=TextChanged;
    r2.EvenementTextChanged+=TextChanged;
    r3.EvenementTextChanged+=TextChanged;
    r4.EvenementTextChanged+=TextChanged;
    J'ai essayé de les placer à peu près partout, mais rien n'y fait. Y a t'il un endroit spécifique où les insérer?
    Merci et mes excuses

  6. #6
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    ah, je sui sallé trop vite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    r1.TextChanged+=new System.EventHandler(EvenementTextChanged);
    r2.TextChanged+=new System.EventHandler(EvenementTextChanged);
    r3.TextChanged+=new System.EventHandler(EvenementTextChanged);
    r4.TextChanged+=new System.EventHandler(EvenementTextChanged);

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Cela fonctionne, merci beaucoup

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/04/2013, 17h46
  2. Contrainte de vérification sur champ DATE
    Par Toshtuk dans le forum Oracle
    Réponses: 12
    Dernier message: 15/09/2006, 11h47
  3. [PHP-JS] Vérification de champs
    Par marsya dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2006, 03h26
  4. Vérification des champs d'un sous-formulaire
    Par antoine46 dans le forum Access
    Réponses: 5
    Dernier message: 10/08/2006, 11h55

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