Bonjour à tous !

Je viens aujourd'hui par mis vous car j'ai un petit soucie d'auto cochement (ce mot n'existe pas) dans une CheckListBox.

Concept : J'aimerai mettre tout ce que l'utilisateur coche dans une CheckListBox dans une list. Pour une fois cocher, l'item sélectionner devient un objet. A chaque fois que l'utilisateur coche, je supprime le contenu de la CLB, rempli avec la liste (ceux qui sont Objet [entreprise.getNom() ]), rempli aussi par le reste des entreprises.

Problème : Additionnal information : La référence d'objet n'est pas définie à une instance d'un objet

Si vous voyez quelque chose qui peut être amélioré je suis ouvert à toute sujétion.

Le code est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
        private void CLB_Step2_EntrepriseEXT_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            //j'aimerais faire une liste d'objet
 
            Controleur_Entreprise MonEntreprise = new Controleur_Entreprise(CLB_Step2_EntrepriseEXT.SelectedItem.ToString());
            //je crée un controlleur pour pouvoir le traiter (je lui passe un nom d'entreprise)
 
            int idEntreprise = MonEntreprise.getIdParNom();
            //je cherche son id avec son nom
 
            MonEntreprise.setID(idEntreprise);
            //je lui met l'id
 
            MonEntreprise.setEntrepriseParId();
            //avec l'id je construit un objet entier
 
            ListEntreprise.Add(MonEntreprise);
            //que je passe dans une liste
 
            CLB_Step2_EntrepriseEXT.Items.Clear();
            //nétoyage de la CLB
 
            int nbTotalEntreprise = 0; //je calcule le nombre total d'entreprise selectionner
            int i = 0; //l'indice où je me trouve
 
            foreach (Controleur_Entreprise values in ListEntreprise) //pour toute les entreprise je les rajoute
            {
                MessageBox.Show(values.getNom());
                CLB_Step2_EntrepriseEXT.Items.Add(values.getNom());
                nbTotalEntreprise++;
            }
 
            while(nbTotalEntreprise > i)
            {
                CLB_Step2_EntrepriseEXT.SetItemChecked(i, true);
                i++;
            }
 
            foreach (string values in MesEntreprise.getListNomEntreprise()) //rajout des entreprise
            {
                //if value == listEntreprise.getNom()
                CLB_Step2_EntrepriseEXT.Items.Add(values);
            }
 
        }
Je vous remercie d'avance pour le temps que vous m'apportez.