Bonjour,

J'explique le systeme :

Je tir avec un pistolet hardware et celui ci me renvoi un spectre via le port Serie , ce meme port , quand il recoit un spectre , leve un evenement

J'ai une MainForm qui est MDIContainer

Je veux qu à chaque tir effectué , une nouvelle fenetre SpectreForm soit créée

dans ma MainformLoad je crée un evenement :

AddHandler Communication.tir_stoped, AddressOf communication_tir_stoped

qui informe que la transmission de donnée est finie


PrivateSub communication_tir_stoped()
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
'MsgBox("Fin du Tir")
Dim res As DialogResult
res = MessageBox.Show("Voulez vous garder ce spectre ?", "Capture", _
MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)
If res = DialogResult.Yes Then
MDIFilleActive = New SpectreForm
MDIFilleActive.MdiParent =
Me
MDIFilleActive.Spectre_Brut = DP4DataTampon

MDIFilleActive.Show()
MDIFilleActive.Affiche(
Nothing, Nothing)
ElseIf res = DialogResult.No Then
Panel18.Visible = False
EndIf
EndSub

J'obtiens l'erreur suivante :

MDIFilleActive.MdiParent = Me

Une exception non gérée du type 'System.ArgumentException' s'est produite dans system.windows.forms.dll
Informations supplémentaires : Les contrôles créés sur un thread ne peuvent pas être parents d'un contrôle d'un autre thread.


J'ai l'impression que le declenchement de l'evenement crée un nouveau thread et que le "Me" ne fait plus référence à la MainForm

Est ce que quelqu'un saurait régler ce probleme de MDIParent ?

J'espere avoir expliquer le plus clairement et plus brevement possible

merci