Oppure

Loading
19/10/12 15:31
RunWorkerCompleted NON è una classe ma un evento ... non fare confusione

Studia questo

msdn.microsoft.com/it-it/library/…(v=vs.95).aspx

E quello che hai fatto NON serve assolutamente a nulla (in pratica non hai risolto ...)

Come ti ho detto il nuovo thread parte e poi termina. Se il form lo apri all'interno del nuovo thread e questo muore subito, il form non sarà gestito (e ti apparirà bloccato).

Quando il thread termina, viene eseguito l'evento RunWorkerCompleted ma viene eseguito ALL'INTERNO del thread chiamante (del principale) e per questo il form ti appare funzionante, ma NON VIENE GESTITO dal nuovo thread ma dal vecchio!

Insomma ... un giro per nulla.

Non devi gestire form con i thread ma trattare la ricezione di messaggi, problematiche di elaborazione pesanti e così via ...
Ultima modifica effettuata da 19/10/12 15:43
19/10/12 16:04
hakzc
va bene, il form lo apro da un altro button ed è apposto però nel momento della ricezione sebbene nel form1 abbia messo i backgroundworker al posto dei timer, mi dice ancora indice oltre i limiti della matrice
aaa
19/10/12 16:13
Ritorniamo all'inizio del problema ... non sai usare i thread e ti ho già detto in altri post che non si impara su un forum e il problema non si risolve con la bacchetta magica o cambiando un'istruzione.

Probabilmente l'uso dell'array non è anche la miglior soluzione per fare quello che vuoi ma, quasi sicuramente, sarebbe meglio utilizzare oggetti come Liste o altre Collection.

Si studia prima la programmazione multithread, poi si imposta l'architettura del programma "a tavolino" (facendo un'analisi completa dei vari problemi) e solo all'ultimo si cominciano a studiare le componenti (classi, metodi, proprietà;) necessari al suo funzionamento.

Purtroppo non ci sono scorciatoie.