julbuttt
Messages postés19Date d'inscriptionmercredi 18 janvier 2006StatutMembreDernière intervention19 juin 2006
-
17 avril 2006 à 18:42
julbuttt
Messages postés19Date d'inscriptionmercredi 18 janvier 2006StatutMembreDernière intervention19 juin 2006
-
17 avril 2006 à 19:31
Bonjour, voila en faite j'utilise deux thread qui s'executent en //, un qui sert a l'emission de données et l'autre a la reception . Je recupere les données et j'utilise une methode pour ecrire dans un datagrid situé dans un tabpage. Le probleme est que quand j'accede a mon datagrid, j'ai une erreur au niveau de ma fonction ecrire et cette erreur est de type:
"Cross-thread operation not valid: Control 'dataGridView1' accessed from a thread other than the thread it was created on."
Donc j'ai utiliser un semaphore pour essayer d'y remédier mais rien n'y fait cela me le fait toujours.
Les deux threads ne sont pas dans cette classe!
Code:
Mutex mtx;
public Lanwatch
{
mtx = new Mutex();
}
public void EcrireLanwatch(String s0, String s1, String s2, String s3, String s4, String s5, String s6)
{
String[] row = new String[7];
if (this.dataGridView1.IsDisposed)
{
this.initLanWatch();
}
// Add a row for each string array.
DataGridViewRowCollection rows = this.dataGridView1.Rows;
row[0] = s0;
row[1] = s1;
row[2] = s2;
row[3] = s3;
row[4] = s4;
row[5] = s5;
row[6] = s6;
mtx.WaitOne();
rows.Add(row);
mtx.ReleaseMutex();
}
J'ai pas de solution pour y remedier !
Merci pour votre aide
Amicalement julbuttt