Creato da Arudy il 15/09/2006
Note, appunti, di tutto un pò riguardo alla mia esperienza di programmatore

Tag

 

Archivio messaggi

 
 << Agosto 2024 >> 
 
LuMaMeGiVeSaDo
 
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
 
 

Cerca in questo Blog

  Trova
 

FACEBOOK

 
 

Area personale

 
 
RSS (Really simple syndication) Feed Atom
 

 

« Percorso del file eseguibileString Encryption »

Modificare lo stato di un controllo da un operazione asincrona

Post n°9 pubblicato il 26 Settembre 2006 da Arudy
 

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();
}

 
Condividi e segnala Condividi e segnala - permalink - Segnala abuso
 
 
Vai alla Home Page del blog
 

© Italiaonline S.p.A. 2024Direzione e coordinamento di Libero Acquisition S.á r.l.P. IVA 03970540963