Utiliser la multiselection d'un listbox

Résolu
ggrug26
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2008
- 28 avril 2008 à 10:37
ggrug26
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2008
- 28 avril 2008 à 11:42
Bonjour,

Petite question ou je plante...

J'utilise un listbox simplement en écrivant: " ligne = listbox1.text;

Mais j'ai un cas ou je dois utiliser la multiselection sur un listbox, et la comment puis-je faire pour récupérer les ligne que j'ai selectionné ?

Si j'utilise "listbox1.selectedItems, je me retrouve avec apparemment la collections de ces éléments, mais je ne sais pas comment l'utiliser... Dans les paramètres du selecteditems je n'ai apparement que le nombre d'éléments selectionné.

Si vous avez l'info, merci de votre aide.

4 réponses

bubbathemaster
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
5
28 avril 2008 à 11:20
listbox1.SelectedItems[xxxx], tout simplement ^^

Comme c'est une collection, ca se parcourt avec un foreach:
foreach(object o in listbox1.SelectedItems)
{
   MessageBox.Show((string)o);
}

Ou "à l'ancienne"

for(int i=0; i<listbox1.SelectedItems.Count; i++)
{
    MessageBox.Show(listbox1.SelectedItem[i]);
}
3
Neo020585
Messages postés
178
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
6 juillet 2009
4
28 avril 2008 à 11:21
Bonjour,

Comme tu le souligne, tu récupère une collections des éléments sélectionnés.
Pour connaitre la valeur text des éléments, il te faut donc la parcourir à l'aide d'un foreach

foreach (object item in listBox1.SelectedItems)
{
    MessageBox.Show(item.ToString());
}

"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein
3
Liverion
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

28 avril 2008 à 11:14
Bonjour,
Que veux tu faire de la collection d'objets recupérés ?
0
ggrug26
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2008

28 avril 2008 à 11:42
c'est bon, merci bubbathemaster, ainsi que les autres, j'ai trouver mon bonheur dans vos réponses !!

voila ce que je voulais faire et ça marche

AjoutTest();

ligneTemp =

"";

foreach (
object list1
in LBListContGachet1.SelectedItems){

//Remplacement des objets 'ctc1' par les valeurs correspondantesligneTemp = ligneTemp + ligne1.Replace(

"contact1", (
string)list1);}

ligneaEcrir = ligneTemp;

ligneTemp =

"";

foreach (
object list2
in LBListContGachet2.SelectedItems){

//Remplacement des objets 'ctc2' par les valeurs correspondantesligneTemp = ligneTemp + ligne2.Replace(

"contact2", (
string)list2);}

ligneaEcrir = ligneaEcrir + ligneTemp;

//On regroupe les 2 ligne, soit les param A() et B()

//Ajout de la ligneLbContRepoGach.Items.Add(ligneaEcrir);
0