BackgroundWorker.RunWorkerAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Spustí provádění operace na pozadí.
Přetížení
| Name | Description |
|---|---|
| RunWorkerAsync() |
Spustí provádění operace na pozadí. |
| RunWorkerAsync(Object) |
Spustí provádění operace na pozadí. |
RunWorkerAsync()
- Zdroj:
- BackgroundWorker.cs
- Zdroj:
- BackgroundWorker.cs
- Zdroj:
- BackgroundWorker.cs
- Zdroj:
- BackgroundWorker.cs
- Zdroj:
- BackgroundWorker.cs
Spustí provádění operace na pozadí.
public:
void RunWorkerAsync();
public void RunWorkerAsync();
member this.RunWorkerAsync : unit -> unit
Public Sub RunWorkerAsync ()
Výjimky
IsBusy je true.
Příklady
Následující příklad kódu ukazuje použití RunWorkerAsync metody ke spuštění asynchronní operace. Je součástí většího příkladu popsaného v tématu Postupy: Stažení souboru na pozadí.
void downloadButton_Click(object sender, EventArgs e)
{
// Start the download operation in the background.
backgroundWorker1.RunWorkerAsync();
// Disable the button for the duration of the download.
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 (backgroundWorker1.IsBusy)
{
progressBar1.Increment(1);
// Keep UI messages moving, so the form remains
// responsive during the asynchronous operation.
Application.DoEvents();
}
}
Private Sub downloadButton_Click( _
ByVal sender As Object, _
ByVal e As EventArgs) _
Handles downloadButton.Click
' Start the download operation in the background.
Me.backgroundWorker1.RunWorkerAsync()
' Disable the button for the duration of the download.
Me.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.
' 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 Me.backgroundWorker1.IsBusy
progressBar1.Increment(1)
' Keep UI messages moving, so the form remains
' responsive during the asynchronous operation.
Application.DoEvents()
End While
End Sub
Poznámky
Metoda RunWorkerAsync odešle požadavek na spuštění operace asynchronně. Při obsluhování DoWork požadavku se vyvolá událost, která následně spustí provádění operace na pozadí.
Pokud je operace na pozadí již spuštěna, vyvolá volání RunWorkerAsync znovu .InvalidOperationException
Viz také
- DoWork
- Postupy: Spuštění operace na pozadí
- Osvědčené postupy spravovaných vláken
- Jak stáhnout soubor na pozadí
Platí pro
RunWorkerAsync(Object)
- Zdroj:
- BackgroundWorker.cs
- Zdroj:
- BackgroundWorker.cs
- Zdroj:
- BackgroundWorker.cs
- Zdroj:
- BackgroundWorker.cs
- Zdroj:
- BackgroundWorker.cs
Spustí provádění operace na pozadí.
public:
void RunWorkerAsync(System::Object ^ argument);
public void RunWorkerAsync(object argument);
public void RunWorkerAsync(object? argument);
member this.RunWorkerAsync : obj -> unit
Public Sub RunWorkerAsync (argument As Object)
Parametry
- argument
- Object
Parametr pro použití operací na pozadí, který se má spustit v obslužné rutině DoWork události.
Výjimky
IsBusy je true.
Příklady
Následující příklad kódu ukazuje použití RunWorkerAsync metody ke spuštění asynchronní operace. Tento příklad kódu je součástí většího příkladu uvedeného pro třídu BackgroundWorker.
// Start the asynchronous operation.
backgroundWorker1->RunWorkerAsync( numberToCompute );
// Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute);
' Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute)
Poznámky
Metoda RunWorkerAsync odešle požadavek na spuštění operace asynchronně. Při obsluhování DoWork požadavku se vyvolá událost, která následně spustí provádění operace na pozadí.
Pokud vaše operace vyžaduje parametr, můžete ho argument zadat jako parametr .RunWorkerAsync
Pokud je operace na pozadí již spuštěna, vyvolá volání RunWorkerAsync znovu .InvalidOperationException
Viz také
- DoWork
- Postupy: Spuštění operace na pozadí
- Jak stáhnout soubor na pozadí
- Osvědčené postupy spravovaných vláken