immerczeck
Messages postés27Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention28 juin 2008
-
26 juin 2006 à 10:30
immerczeck
Messages postés27Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention28 juin 2008
-
26 juin 2006 à 17:44
Bonjour!
mon problème est le suivant : à partir d'un thread, je voudrais créer "à l'infini" des instances d'une nouvelle fenêtre, chacune avec un titre différent.
Je pensais m'en sortir en faisant un tableau de Form mais apparemment le fait même de construire une Form dans un thread au sein d'une boucle fait planter la Form en question.
C'est sûrement simple à résoudre, mais je suis là dessus depuis un bout de temps, alors toute réponse est la bienvenue.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 26 juin 2006 à 11:23
Salut,
Ne pas créer des object (Control) dans des threads différents!
Ca apporte que des ennuis, et on peut toujours faire autrement. Sinon pour savoir comment manipuler des Control dans un thread différent de celui qui l'a créer, tu peux jeter un oeil sur ce très bon tuto de Mx.
immerczeck
Messages postés27Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention28 juin 2008 26 juin 2006 à 12:00
Merci de votre réponse, cependant, le problème reste entier.
Peut-être quelques précisions:un thread surveille un port en mode synchrone, et je veux qu'à chaque fois qu'une certaine demande arrive, une nouvelle form s'ouvre.
A chacuns de mes essais, la Form s'ouvre bien, mais elle se bloque, ça doit venir de la boucle...
Mais comment faire? Peut-être en créant un évènement? Mais j'y ai encore jamais touché, je ne sais absolument pas comment cela fonctionne, étant encore débutant...
immerczeck
Messages postés27Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention28 juin 2008 26 juin 2006 à 17:44
Bon j'ai essayé autre chose que le tableau de forms, j'ai créé une classe comportant une form.
A chaque itération, je crée un nouvelle instance dans un arraylist, puis j'utilise un code du type
MaClasse conv = liste[count] as MaClasse;
conv.form.Show();