Dans ta méthode ChargementList tu crées une nouvelles Form
form1=new AppliMainForm();
et tu charges la ListBox de cette nouvelle form, pas la ListBox de la form principale...
Dans ta méthode ChargementListe tu mélanges contrôles graphique et chargement de données. Si tu veux du code réutilisable tu dois séparer tout ça.
Déjà tu dois créer des classes pour représenter tes données. Par exemple une classe Ville.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public class Ville
{
private string _name ;
public Ville(string name)
{
this._name = name;
}
public string Name
{
get
{
return _name ;
}
}
} |
Ensuite tu crées une classe qui s'occupe de charger les données (villes) et des les renvoyer (liste de villes).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class VilleDataAccess
{
public List<Ville> ChargementListeVilles()
{
List<Ville> listVilles = new List<Ville>();
XmlDocument docVille = new XmlDocument();
docVille.Load(@".\XMLVilles.xml");
XmlNodeList listeNoeudsVilles = docVille.GetElementsByTagName("nom");
foreach (XmlNode node in listeNoeudsVilles)
{
Ville ville = new Ville(node.InnerText);
listVilles.Add(ville);
}
return listVilles;
}
} |
Pour charger la grille tu utilises la propriété DataSource de la Listebox et tu lui donnes la liste de villes.
1 2 3 4 5 6 7 8
| private void AppliMainForm_Load(object sender, EventArgs e)
{
VilleDataAccess villeDataAccess = new VilleDataAccess();
listVille.DataSource = villeDataAccess.ChargementListeVilles();
listVille.DisplayMember = "Name";
listVille.ValueMember = "Name";
} |
Partager