Ciao,
sono alle prime armi con C# e Visual Studio e devo modificare una applicazione.
In pratica il problema è il seguente:
Ho una applicazione che permette l'esecuzione di alcune operazioni, ad un certo punto, questa applicazione crea un thread e questo thread deve eseguire un determinato metodo, ma quando vado a lanciarlo mi da come errore il fatto che dovrei usare un Control.Invoke, ma come si usa?? Ho guardato un sacco di cose, ma nessuno specifica nel dettaglio come usarli!
In pratica, la mia apllicazione può essere vista come un qualcosa che gira e un altro thread va ad aggiornare alcune cose come ad esempio una casella di testo...
Ad esempio una sveglia...c'è un applicazione normale che gira, quindi l'orologio ed un thread che funge da sveglia, ossi cammina per i suoi fatti e ogni tanto controlla l'ora, nel caso in cui l'ora coincide scrive un messaggio.
Nota implementativa,
Io ho creato il thread all'interno di una classe di gestione, è come se ho creato il thread sveglia all'interno del thread orologio...quindi ho, una classe gui ( riporta l'interfaccia grafica ), una classe orologio ( con tutti i metodi necessari e utili anche per cambiare la grafica ) e all'interno della classe orologio ho un metodo runThread che appunto deve poter modificare la grafica ed accedere a qualche metodo.
All'interno di orologio chiamo il thread cosi:
Thread trd = new Thread(new ThreadStart(this.runThread));
trd.IsBackground = true;
trd.Start();
L'errore che visual studio mi da è evidenziato su un componente grafico ( in pratica su uno di quelli su cui il thread sveglia va a scrivere ) e da il seguente messaggio:
Utilizzare Control.Invoke per interagire con i controlli creati in un thread separato.