|
Creato da Arudy il 15/09/2006
Note, appunti, di tutto un pò riguardo alla mia esperienza di programmatore
|
Tag
Cerca in questo Blog
Menu
I miei link preferiti
Area personale
« Percorso del file eseguibile | String Encryption » |
Quante volte vi è capitato di avere la necessità di aggiornare un controllo che si trova su una form istanziata in un thread principale, da un altro thread che sta seguendo un operazione asincrona? Ecco come evitare errori di cross thread e non duplicare il codice se si effettua la chiamata dal thread principale:
private delegate void InvokeMiaFunzione();
private InvokeMiaFunzione mInvokeMiaFunzione;
private void MiaFunzione()
{
if (this.InvokeRequired)
{
this.Invoke(mInvokeMiaFunzione);
}
else
{
// Qui si può modificare lo stato del controllo della form senza incorrere in nessun problema
}
}
private void CostruttoreDellaClasse()
{
mInvokeMiaFunzione= new InvokeMiaFunzione (MiaFunzione);
}
private void ProcessoAsincrono()
{
MiaFunzione();
}
private void ProcessoSincrono()
{
MiaFunzione();
}
![]() |
https://blog.libero.it/RudyProgNotes/trackback.php?msg=1678641
I blog che hanno inviato un Trackback a questo messaggio:
Nessun Trackback