Bonjour,
j'ai une form principale dans laquelle je voudrais lancer 1 à N form dans des threads séparés tout en gardant le controle, dans le sens ou je surveille les threads depuis la forme qui les lance.
je n'utilise pas de MDI. mais bien des délégués/multithreading/invoke et tuti quanti mais je n'arrive pas à les lancer correctement...
code depuis lequel je lance le thread pour lancer une FORM
voici un bout de code des délégués etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim t As Thread t = New Thread(AddressOf InvokeForm) t.Name = Me.computerName t.Start()
j'ai donc ce message d'erreur :
Code : 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Public Delegate Sub newForm() Private newFormProcess As newForm = AddressOf LaunchForm Private Sub InvokeForm() Try newFormProcess.Invoke() Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub LaunchForm() If Me.InvokeRequired Then Me.Invoke(Me.newFormProcess) Else Dim frm As New MainReader frm.setComputerName = Me.txtBxComputerName.Text.Trim frm.setSelectedQueue = Me.TreeView.SelectedNode.Text Application.Run(frm) 'frm.ShowDialog() End If End Sub
j'essaye alors le form.showdialog mais je perds le contrôle de la form qui lance les forms...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Starting a second message loop on a single thread is not a valid operation. Use Form.showDialog instead
merci de bien vouloir m'aider.
bien à vous
Partager