Bonjour,

J'ai une listbox bindée à une collection List<string>.
Lorsque je modifie ma collection dans un thread qui n'est pas le thread du formulaire, le databinding ne gère plus la mise à jour de la listbox.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
        List<string> values;
 
        private void Form1_Load(object sender, EventArgs e)
        {
            values = new List<string> { "aaa", "bbb", "ccc" };
            listBox1.DataSource = values;
 
            Thread th = new Thread(() => values.Add("ddd"));
 
            th.Start();
        }

Pour mettre à jour ma listbox je n'ai trouvé de mieux que d'écrire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
            BindingContext[values].SuspendBinding();
            BindingContext[values].ResumeBinding();
Auriez-vous une meilleure idée ?


merci d'avance pour vos conseils.

mathmax