Vengono gestite tutte e tre le form dal Main Thread. Se sei curioso di vedere come vengono gestiti i/il thread della tua applicazione basta che quando sei in modalità debug attivi la finestra Thread nel menù Debug\Windows\Thread.Originariamente inviato da Adanf
Ma scusate una cosa, se io creo 3 form separate, ogni form è un thread separato? oppure vengono gestite tutte e 3 dal thread della form principale?
Scusa non ho capito cosa vuoi dire.Ora il punto è che se io richiamo dal thread di elaborazione (che è stato avviato nella classe della form principale) il comando "FinestraElaborazione.InvokeRequired" il comando da sempre la finestra occupata, lo stesso vale per la finestra di preview, mentre se scrivo "FinestraPrincipale.InvokeRequired" l'accesso alla finestra lo da senza problemi.
Nessuno può illuminarmi?
(vi posterei tutto il codice ma mi sa ke è troppo lungo)
Un consiglio, ti crei una classe che gestisce l'elaborazione dei frame eventualmente usando il multiThread e quando devi comunicare qualcosa all'UI lo fai tramite un'evento della classe. Chiaramente se l'evento viene scatenato da un Thread separato dal quello della UI è necessario gestire correttamente il codice per non incorrere in opperazioni cross-thread non valide.
Per assurdo se vuoi semplicare un po tutto potresti anche utilizzare il BackGroundWorker nella classe.....![]()
codice:Dim WithEvents bw As System.ComponentModel.BackgroundWorker