CheckedListBox, problème de compréhension

Résolu
babaOrhumette Messages postés 104 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 7 avril 2019 - 2 mars 2010 à 13:27
babaOrhumette Messages postés 104 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 7 avril 2019 - 10 mars 2010 à 13:11
Bonjour,

Je m'excuse par avance si je crée ce nouveau sujet au mauvais endroit.

Voilà, je me permets de demander de l'aide car j'ai un problème de compréhension avec l'outil checkedListBox.

Mon code permet d'ouvrir un fichier et de répertorier dans une checkedListBox des données, très bien.
Maintenant, j'aimerai effectué une action sur les données cochées dans la checkedListBox et non pas la donnée surlignée (comme le fait checkedListBox1.Text), par l'intermédiare d'un bouton par exemple.


(Bien entendu, j'ai testé plusieurs méthode, lorsque j'utilise :
- string str = checkedListBox1.Text cela prend en compte le text surligné de la checkedListBox et non pas les données cochées.
- string str = checkedListBox1.ItemCheck mais ça donne une erreur
- string str = checkedListBox1.Item de même erreur
...)

J'aimerai que ça prenne en compte un par un les éléments cochés et non pas le dernier élément surligné.

En espérant avoir été la plus claire possible. Merci de votre attention.

7 réponses

cs_Psych0 Messages postés 30 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 juin 2010 1
2 mars 2010 à 13:52
Pour le code ça donne :

foreach (string str in checkedListBox1.CheckedItems)
{
    // ton traitement sur str ici
}
3
cs_Psych0 Messages postés 30 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 juin 2010 1
3 mars 2010 à 09:06
Bonjour à toi,

Je n'ai pas très bien compris ce que tu voulais dire avec ton indicateur de pourcentage... est ce une progressbar que tu incrémentes après chaque traitement d'une case à cocher ?

Sinon j'ai testé un peu plus le code mis plus haut, avec le foreach, et je me suis rendu compte que parfois il me levait une exception parceque la liste parcourue était modifiée.

Il est donc préférable de changer le foreach par :

for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
{
string str = checkedListBox1.CheckedItems[i].ToString();
}


Par contre je peux t'assurer que dans la variable str il n'y a bien qu'un et un seul élément checké.
3
cs_Psych0 Messages postés 30 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 juin 2010 1
2 mars 2010 à 13:51
Bonjour à toi babaOrhumette,

La solution à ton problème se trouve dans l'utilisation de la propriété checkedListBox1.CheckedItems



Bon développement !

( Je ne sais pas si j'ai fait une fausse manip', mais il m'était impossible de répondre à ce post en utilisant Chrome... )
0
babaOrhumette Messages postés 104 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 7 avril 2019 1
2 mars 2010 à 13:55
Salut et merci Psych0 c'est sympa.
Je teste ça ce soir, et je tiens la communauté au courant.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
babaOrhumette Messages postés 104 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 7 avril 2019 1
2 mars 2010 à 21:07
Merci encotre, ta réponse est bonne cependant c'est ma question qui était un peu floue.

Ayant inséré un indicateur de pourcentage sur les opérations effectuées sur la donnée, je me rends compte que foreach (string...) agit sur toutes les données checkées en même temps et non pas une par une.

Serait-ce possible d'agir donnée checkée par donnée checkée?

C'est à dire que quand la première donnée checkée a été totalement "transformée" alors on agit sur la seconde donnée checkée et ainsi de suite.

Merci beaucoup de votre attention.
0
babaOrhumette Messages postés 104 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 7 avril 2019 1
3 mars 2010 à 20:09
Merci, je ne peux tester pour le moment (je ne suis pas chez moi), mais dés que je peux je donne mon retour.
0
babaOrhumette Messages postés 104 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 7 avril 2019 1
10 mars 2010 à 13:11
Réponse acceptée. Merci encore.
0