Bonjour à tous,
Débutant en c#, je veux créer une commande qui prend en paramètre des listes de boissons, entrées, plats et desserts.
Dans mon formulaire, la listBox1 affiche en fonction les différentes listes. Quand je clique sur ajouter (bouton « =>») la lisBox2 prend bien ma liste.
Dès que je veux changer de liste j'ai ce message d'erreur.
« La référence d'objet n'est pas définie à une instance d'un objet. »
Je suppose que cela doit être un problème avec l'état de listBox2 à null ...
Merci de votre aide.
Voici mon code :
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124 #region variables string VarChangeStatut; Outils Outil = new Outils(); List<C_Boisson> Liste_Boisson_choisi = new List<C_Boisson>(); List<C_Entree> Liste_Entree_choisi = new List<C_Entree>(); List<C_Plat> Liste_Plat_choisi = new List<C_Plat>(); List<C_Dessert> Liste_Dessert_choisi = new List<C_Dessert>(); C_Boisson Boisson_choisi = new C_Boisson(); C_Entree Entree_choisi = new C_Entree(); C_Plat Plat_choisi = new C_Plat(); C_Dessert Dessert_choisi = new C_Dessert(); #endregion variables private void IHM_CommandePlats_Load(object sender, EventArgs e) { //Camoufler la combobox groupBox2.Visible = false; XML_Reservation ListeReservation = new XML_Reservation(); comboBox1.DataSource = ListeReservation.afficher_XML_Reservation_Consultation(); radioButton1.Select(); VarChangeStatut = "Boisson"; XML_Boisson Bois = new XML_Boisson(); listBox1.DataSource = Bois.afficher_XML_Boisson_Consultation(); } private void button1_Click(object sender, EventArgs e) { groupBox2.Visible = true; groupBox1.Visible = false; label1.Text = "Commande pour la reservation au nom de " + comboBox1.Text; } private void radioButton1_CheckedChanged(object sender, EventArgs e) { VarChangeStatut = "Boisson"; radioButton2.Show(); radioButton3.Show(); radioButton4.Show(); listBox2.DataSource = null; listBox1.DataSource = null; listBox1.DataSource = Outil.Liste_tous_les_produits_Commande().ListeBoisson; } private void radioButton2_CheckedChanged(object sender, EventArgs e) { VarChangeStatut = "Entree"; listBox2.DataSource = null; radioButton1.Show(); radioButton3.Show(); radioButton4.Show(); listBox1.DataSource = null; listBox1.DataSource = Outil.Liste_tous_les_produits_Commande().ListeEntree; } private void radioButton3_CheckedChanged(object sender, EventArgs e) { VarChangeStatut = "Plat"; radioButton1.Show(); radioButton2.Show(); radioButton4.Show(); listBox2.DataSource = null; listBox1.DataSource = null; listBox1.DataSource = Outil.Liste_tous_les_produits_Commande().ListePlat; } private void radioButton4_CheckedChanged(object sender, EventArgs e) { VarChangeStatut = "Dessert"; radioButton1.Show(); radioButton2.Show(); radioButton3.Show(); listBox2.DataSource = null; listBox1.DataSource = null; listBox1.DataSource = Outil.Liste_tous_les_produits_Commande().ListeDessert; } private void inscrire_Click(object sender, EventArgs e) { try { Outil = null; switch (VarChangeStatut) { case "Boisson": listBox2.DataSource = null; Boisson_choisi = (C_Boisson)listBox1.SelectedItem; Liste_Boisson_choisi.Add(Boisson_choisi); listBox2.DataSource = Liste_Boisson_choisi; break; case "Entree": listBox2.DataSource = null; Entree_choisi = (C_Entree)listBox1.SelectedItem; Liste_Entree_choisi.Add(Entree_choisi); listBox2.DataSource = Liste_Entree_choisi; break; case "Plat": listBox2.DataSource = null; Plat_choisi = (C_Plat)listBox1.SelectedItem; Liste_Plat_choisi.Add(Plat_choisi); listBox2.DataSource = Liste_Plat_choisi; break; case "Dessert": listBox2.DataSource = null; Dessert_choisi = (C_Dessert)listBox1.SelectedItem; Liste_Dessert_choisi.Add(Dessert_choisi); listBox2.DataSource = Liste_Dessert_choisi; break; default: break; } Commande CommandeX = new Commande(Liste_Boisson_choisi, Liste_Entree_choisi, Liste_Plat_choisi, Liste_Dessert_choisi); }
Partager