Listbox : comment remplir???????????

Signaler
Messages postés
6
Date d'inscription
dimanche 21 novembre 2004
Statut
Membre
Dernière intervention
15 janvier 2008
-
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
Bonjour,
j'ai dans un form une list box que je voudrais remplir par les données d'une array list déclarée dans une autre classe. J'ai pas su comment faire.je suis encore nouveau en C# et je maitrise pas .
Merci

3 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Alors, pour declarer une arraylist comme source de listbox, tu as, au choix :

la propriété taListBox.DataSource = tonArrayList. (et tu déclares
taListBox.DisplayMember = la propriét que tu veux afficher dans la list)

ou alors tu fais un

foreach( truc t in arrayList) taListBox.Add(t);



Pour utiliser l'arrayList qui est dans une autre classe, bah ca dépend en fait.

Tu as instancié ta classe dans celle ou ton ListBox se trouve ?



Petit exemple :



// Class contenant ton ArrayList

public class MaClass

{

private ArrayList monArrayList = new ArrayList(); // Déclaration de ton arrayList

public ArrayList MonArrayList // Un accesseur (propriété) en lecture seule

{

get { return monArrayList; }

}



// Le constructeur

public MaClass()

{

string s1 = "aaaaa";

string s2 = "bbbbb";

monArrayList.Add(s1); // On ajoute 2 strings a la liste

monArrayList.Add(s2);

}

}



// La classe ou tu as ton ListBox

public class Form 1 : Form

{

MaClass maClass = new MaClass(); // Instance de ta classe avec l'ArrayList

...

private void UnMethodeQuelconque()

{

// On va chercher toutes les strings dans l'arraylist de l'instace de MaClass

foreach(String s in maClass.monArrayList)

maListBox.add(s); // Qu'on ajoute a la listBox

}

}


Mx
Messages postés
6
Date d'inscription
dimanche 21 novembre 2004
Statut
Membre
Dernière intervention
15 janvier 2008

merci pour ta réponse,
en fait j'ai 2 classes la première je déclare l'array list:


public
class Allocataire


{



public
string Nom;



public
string Prenom;



public ArrayList Enfants;



/* Constructeur Allocataire*/



public Allocataire (
string nom,
string prenom
)


{



this.Nom=nom;



this.Prenom=prenom;



this.Enfants=
new ArrayList();






}

et la deuxième j'instancie des variables à l'array list


public
class Enfant


{



public
string Prenom;



public DateTime DateNaissance;



public
double PrestationFamilialeAnnuelle;
/*Montant de la prestation en décembre, peut être nulle*/



public
bool Handicape;



public Allocataire Allocataire;



public ArrayList Sejours;



/*Constructeur Enfant*/



public Enfant (
string prenom, DateTime datenaiss,
Allocataire allocataire)


{



this.Prenom=prenom;



this.DateNaissance=datenaiss;



this.Allocataire=allocataire;



allocataire.Enfants.Add(
this);

dans une auter classe main je déclare l'allocatire et l'enfant.

Dans mon form j'ai une list box où je veux afficher les enfants je met
foreach(String nom in Allocataire.Enfants)
ListBox1.add(nom);

Il reconnait pas l'arraylist Enfants
je sais pas koi fair
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Il ne reconnait pas l'ArrayList Enfants, car il faut que tu utilises ton Instance d'Allocataire


Allocataire a = new Allocataire("Aaa", "Bbb");
Enfant e1 = new Enfant("Alain", DateTime.Now, a);
Enfant e2 = new Enfant("Aline", DateTime.Now, a);

foreach(Enfant e in a.Enfants)
listBox1.Items.Add(e.Prenom);

Mx