CheckedListBox, problème de compréhension [Résolu]

babaOrhumette 96 Messages postés mardi 14 avril 2009Date d'inscription 2 juin 2016 Dernière intervention - 2 mars 2010 à 13:27 - Dernière réponse : babaOrhumette 96 Messages postés mardi 14 avril 2009Date d'inscription 2 juin 2016 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_Psych0 30 Messages postés vendredi 21 octobre 2005Date d'inscription 22 juin 2010 Dernière intervention - 2 mars 2010 à 13:52
3
Merci
Pour le code ça donne :

foreach (string str in checkedListBox1.CheckedItems)
{
    // ton traitement sur str ici
}

Merci cs_Psych0 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_Psych0
Meilleure réponse
cs_Psych0 30 Messages postés vendredi 21 octobre 2005Date d'inscription 22 juin 2010 Dernière intervention - 3 mars 2010 à 09:06
3
Merci
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é.

Merci cs_Psych0 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_Psych0
cs_Psych0 30 Messages postés vendredi 21 octobre 2005Date d'inscription 22 juin 2010 Dernière intervention - 2 mars 2010 à 13:51
0
Merci
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... )
Commenter la réponse de cs_Psych0
babaOrhumette 96 Messages postés mardi 14 avril 2009Date d'inscription 2 juin 2016 Dernière intervention - 2 mars 2010 à 13:55
0
Merci
Salut et merci Psych0 c'est sympa.
Je teste ça ce soir, et je tiens la communauté au courant.
Commenter la réponse de babaOrhumette
babaOrhumette 96 Messages postés mardi 14 avril 2009Date d'inscription 2 juin 2016 Dernière intervention - 2 mars 2010 à 21:07
0
Merci
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.
Commenter la réponse de babaOrhumette
babaOrhumette 96 Messages postés mardi 14 avril 2009Date d'inscription 2 juin 2016 Dernière intervention - 3 mars 2010 à 20:09
0
Merci
Merci, je ne peux tester pour le moment (je ne suis pas chez moi), mais dés que je peux je donne mon retour.
Commenter la réponse de babaOrhumette
babaOrhumette 96 Messages postés mardi 14 avril 2009Date d'inscription 2 juin 2016 Dernière intervention - 10 mars 2010 à 13:11
0
Merci
Réponse acceptée. Merci encore.
Commenter la réponse de babaOrhumette

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.