Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo BackgroundWorker.RunWorkerAsync ()

 

Data di pubblicazione: ottobre 2016

Avvia l'esecuzione di un'operazione in background.

Spazio dei nomi:   System.ComponentModel
Assembly:  System (in System.dll)

public void RunWorkerAsync()

Exception Condition
InvalidOperationException

IsBusy è true.

Il RunWorkerAsync metodo invia una richiesta per avviare l'operazione in esecuzione in modo asincrono. Quando la richiesta viene gestita, il DoWork viene generato l'evento, che a sua volta avvia l'esecuzione dell'operazione in background.

Se l'operazione in background è già in esecuzione, la chiamata RunWorkerAsync nuovamente, verrà generato un InvalidOperationException.

Esempio di codice riportato di seguito viene illustrato l'utilizzo di RunWorkerAsync metodo per avviare un'operazione asincrona. Fa parte di un esempio più esaustivo descritto in Procedura: scaricare file in background.

private void downloadButton_Click(object sender, EventArgs e)
{
    // Start the download operation in the background.
    this.backgroundWorker1.RunWorkerAsync();

    // Disable the button for the duration of the download.
    this.downloadButton.Enabled = false;

    // Once you have started the background thread you 
    // can exit the handler and the application will 
    // wait until the RunWorkerCompleted event is raised.

    // Or if you want to do something else in the main thread,
    // such as update a progress bar, you can do so in a loop 
    // while checking IsBusy to see if the background task is
    // still running.

    while (this.backgroundWorker1.IsBusy)
    {
        progressBar1.Increment(1);
        // Keep UI messages moving, so the form remains 
        // responsive during the asynchronous operation.
        Application.DoEvents();
    }
}

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 2.0
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: