[C#] Vérification d'une checkBox avec lancement d'une [Résolu]

Signaler
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
-
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
-
Bonsoir à tous,
je bloque sur une application Windows Form et j'aimerai votre aide.
j'ai une fonction kws(file) qui traite et me génére un fichier plat. depuis mon interface, j'ai une checkbox qui demande à l'utilisateur s'il souhaite ou pas la génération de ce fichier (donc de faire le traitement ou pas).
voici donc mon code:
 
private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            myClass c = new myClass(textBox1.Text);
            
            string _sFile = textBox1.Text;
            if (checkBox1.Checked == true)
            {
                c.kws(_sFile); 
            }
            else
            {
                MessageBox.Show("Warning! The kws associated file will not be generated !");  
            }
        }



le problème c'est que quand je lance mon appli, le fichier ne se génére pas meme si la box est cochée...
pour infos, textBox1.Text contient la valeur de OpenFileDialog qui est donné en entrée à ma fonction kws()
voila, merci pour votre aide.

8 réponses

Messages postés
39
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
7 septembre 2010
1
Salut,

Je pense que ton code est sur le mauvais évènement, tu devrais mettre ce code sur le click du bouton Start :
        private void btn_start_Click(object sender, EventArgs e)
        {
            if (checkBox1.Checked == true)
            {
                
                myClass c = new myClass(textBox1.Text);
                c.kws(textBox1.Text);
            }
            else
            {
                MessageBox.Show("Warning! The kws associated file will not be generated !");
            }

        }
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Salut

Je doute fortement qu'il t'affiche la message box quand tu coches la check box.

Donc le problème vient de ta classe myClass (dont on a pas le code, donc on risque d'avoir du mal à t'aider).

Cependant, pourquoi utilises-tu textBox1.Text à la fois dans le constructeur de myClass mais également en paramètre de kws(), méthode de myClass ??

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
salut,
contrairement à ce que tu dis, le code s'affiche bien quand je décoche ma checkbox :)
mon problème c'est que quand je coche la box, le programme se lance automatiquement (sans attendre que j'ai cliqué sur le bouton start) :(
je ne sais donc pas comment faire pour vérifier la valeur renvoyée par checkbox.checked (true ou false). puis je faire cette vérification au sein de ma classe (au moment du traitement de la fonction kws ??) si oui, comment puis-je faire? parce que tous mes tests ont été vain...
encore merci.
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
+1 Perecastorr, c'était bien ça qui n'allait pas :)

une autre question:
quand mon programme fait son calcul, je n'ai aucun moyen de savoir quand il a fini...
y'a pas une fonction que je pourrait ajouter pour dire: quand tu as fini, tu écris "J'ai fini!" dans une boite de dialogue.
merci beaucoup!
Messages postés
39
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
7 septembre 2010
1
La c'est un peu plus complique, il te faut créer un delegate dans ta classe appelé qui appelera une fonction de ta classe appelante quand elle aura fini...
J'espère avoir été clair ?
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
tu as un exemple de code? comment tu crée un delagate?
Messages postés
39
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
7 septembre 2010
1
Bin la c'est de l'apprentissage du langage que tu as besoin, si tu veux vraiment réussir et comprendre il faut bidouiller des petites form pour bien comprendre le principe avant de le mettre en application.

Tiens quelques lien sympathique :
Délégués et évènement (en anglais)
MSDN delegate
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
Merci,
je vais essayer de me débrouiller avec ça.