Accesso ai controlli dell’interfaccia utente da parte di un altro thread

A volte avevo bisogno di modificare un controllo da un thread diverso da quello della interfaccia utente ma mi sono scontrato con un errore del tipo:

image

Al momento la soluzione è stata la prima soluzione che trovate in questo blog di MSDN: “[…] evitare di toccare la GUI da un thread diverso dal principale, eventualmente condividendo da e verso il thread principale determinate informazioni o richieste” Wink

Oggi sono stati pubblicati questi due blog sull’argomento che sviscerano più a fondo il problema:

Applicazioni multi-threading: accediamo ai controlli in modo sicuro

e

Multhithread access to UI: yet another solution

… ora mi devo solo ricordare dove mi serviva… Confused

posted @ lunedì 7 settembre 2009 15:05

Print

Comments on this entry:

# re: Accesso ai controlli dell’intrfaccia utente da parte di un altro thread

Left by Alessandro Benedetti at 07/09/2009 15:09
Gravatar
Credo che la soluzione che usa il BackgroundWorker sia la più elegante e corretta.

# re: Accesso ai controlli dell’intrfaccia utente da parte di un altro thread

Left by Nazareno at 07/09/2009 17:41
Gravatar
Nicolò... tu sei passato prima un po' ovunque... ti seguo a distanza... :-)

# re: Accesso ai controlli dell’interfaccia utente da parte di un altro thread

Left by Daevil at 23/09/2009 04:15
Gravatar
In realtà la mia non aspirava ad essere una soluzione, ma uno spunto per creare un'alternativa a BackgroundWorker, quando non si vuole usare la progress bar. Ci potrebbero essere svariati motivi per non voler usare una progress bar (vedi salvataggi automatici in un file di testo o caricamento di pochi dati ), e comunque i dati dovrebbero andare su un thread. Ti ringrazio per averci linkato, parlo anche a nome di Mauro ;)
- Dave
Comments have been closed on this topic.
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011