Puoi collegarti ad un buon esempio di utilizzo di BackgroundWorker senza inserirlo in un modulo come componente?

Ricordo che molti anni fa (nel 2005) stavo usando BackgroundWorker nel mio codice senza usare un componente visivo per questo, ma non ricordo come (purtroppo sono molto smemorato e dimentico tutto molto presto dopo aver smesso di usarlo) . Forse stavo estendendo la class di BackgroundWorker. Puoi colbind a un buon esempio di utilizzo di BackgroundWorker in questo modo?

Questo articolo spiega chiaramente tutto ciò di cui hai bisogno.

Ecco i passaggi minimi per utilizzare BackgroundWorker:

  1. Istanziare BackgroundWorker e gestire l’evento DoWork.
  2. Chiama RunWorkerAsync, facoltativamente con un argomento object.

Questo poi lo mette in moto. Qualsiasi argomento passato a RunWorkerAsync verrà inoltrato al gestore di eventi di DoWork, tramite la proprietà Argument dell’argomento dell’evento. Ecco un esempio:

class Program { static BackgroundWorker _bw = new BackgroundWorker(); static void Main() { _bw.DoWork += bw_DoWork; _bw.RunWorkerAsync ("Message to worker"); Console.ReadLine(); } static void bw_DoWork (object sender, DoWorkEventArgs e) { // This is called on the worker thread Console.WriteLine (e.Argument); // writes "Message to worker" // Perform time-consuming task... } }