Problème d'accès à un objet à partir d'un thread
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 :
Citation:
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.
Voici mon code d'appel dans la classe principale :
Code:
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();
} |
Et voici le code de mon thread :
Code:
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);
}
}
} |
Est-ce que quelqu'un sait pourquoi ça ne marche pas ? Peut-être que je m'y prend vraiment comme un manche… :?