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 4
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
Rejoignez-nous