Bonjour,
Je débute avec les threads en C#. Et lorsque je tente d’accéder à un objet de mon programme principal après avoir passé sa référence à mon thread. J'ai le message suivant :
Voici mon code d'appel dans la classe principale :L'exception InvalidOperationException n'a pas été gérée
Le thread appelant ne peut pas accéder à cet objet parce qu'un autre thread en est propriétaire.
Et voici le code de mon thread :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private void button1_Click(object sender, RoutedEventArgs e) { ThreadTest threadTest = new ThreadTest(ref progressBar1); Thread t = new Thread(new ThreadStart(threadTest.TreadProc)); t.Start(); }
Est-ce que quelqu'un sait pourquoi ça ne marche pas ? Peut-être que je m'y prend vraiment comme un manche…
Code C# : 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 public class ThreadTest { private ProgressBar BarreProgression; public ThreadTest(ref ProgressBar BarreTransfert) { BarreProgression = BarreTransfert; } public void TreadProc() { for (int i = 0; i <= 100; i++) { BarreProgression.Value = i; Thread.Sleep(1000); } } }![]()
Partager