Je construis, depuis une Form1, une Form2 se présentant sous la forme de 2 boutons (sauver et quitter) d'une ListBox et d'une RichTextBox.
La ListBox contient un nom (String) et la RichTextBox contient un synopsis (String)
La form2 est construite avec différentes listes, depuis la form1 :
et la form2 gére, via une copie de la liste, l'affichage dans la ListBox et la RichTextBox :
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 ... private void b1ToolStripMenuItem_Click(object sender, System.EventArgs e) { Form2 b1EditWindow = new Form2(); b1EditWindow.Text = "Livres"; b1EditWindow.PopulateForm2(b1List); b1EditWindow.ShowDialog(); } private void b2ToolStripMenuItem_Click(object sender, System.EventArgs e) { Form2 b2EditWindow = new Form2(); b2EditWindow.Text = "BD"; b2EditWindow.PopulateForm2(b2List); b2EditWindow.ShowDialog(); } ...
Voici les problèmes que j'ai :
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 List<Class1> localList; ... public void PopulateForm2(List<Class1> myClass1) { // work with local list copy localList = myClass1; int i = 0; while (i < localList.Count) { listBox1.Items.Add(localList[i].Id); i++; } richTextBox1.Clear(); } private void button2_Click(object sender, System.EventArgs e) { int i = 0; while (i < localList.Count) { if (localList[i].State == "T" || localList[i].State == "V") { // save original list // ??? } } } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { int index = listBox1.SelectedIndex; richTextBox1.Clear(); richTextBox1.AppendText(localList[index].Contents); richTextBox1.Modified = false; } private void richTextBox1_Leave(object sender, EventArgs e) { if (richTextBox1.Modified) { // update localList[i].Contents with modified synopsis // msgBox for test purpose MessageBox.Show("Text modified", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information) } }
1) Lorsque je modifie un synopsis, puis que je sélectionne un autre choix de la ListBox, je ne passe jamais dans la méthode richTextBox1_Leave. Comment puis-je détecter la modification d'un synopsis ?
2) Lorsque je vais activer le bouton "Sauver", je veux que la liste originale (celle qui est passé en argument de la méthode PopulateForm2) soit mise à jour et retrouver ces modifications dans la Form1 (b1List ou b2List selon) mais je ne vois pas comment faire. Comment pourrais-je procéder ?
Merci.
Partager