Normalmente si deve ricorrere alla scrittura di un pattern apposito. Con l'introduzione dei Delegate anonimi la problematica si risolve con una sola riga di codice.
Nell'esempio sottostante, viene lanciata la richiesta di una preview in stampa ad un thread secondario che si
preoccuperà di effettuare opportune operazioni per poi mandare a video il risultato.
// metodo utilizzato dal thread secondario. Si dovrà ricondurre la preview del report al main thread
public void PublishReport()
{
ReportSchedaCliente rpt = new ReportSchedaCliente(argo);
if (!rpt.IsDataSourceEmpty())
{
this.Invoke(new MethodInvoker(delegate(){ rpt.Preview(); }));
}
}
0 commenti:
Posta un commento