BackgroundWorker.RunWorkerAsync Метод

Определение

Запускает выполнение фоновой операции.Starts execution of a background operation.

Перегрузки

RunWorkerAsync()

Запускает выполнение фоновой операции.Starts execution of a background operation.

RunWorkerAsync(Object)

Запускает выполнение фоновой операции.Starts execution of a background operation.

RunWorkerAsync()

Запускает выполнение фоновой операции.Starts execution of a background operation.

public:
 void RunWorkerAsync();
public void RunWorkerAsync ();
member this.RunWorkerAsync : unit -> unit
Public Sub RunWorkerAsync ()

Исключения

Свойство IsBusy имеет значение true.IsBusy is true.

Примеры

В следующем примере кода показано использование метода RunWorkerAsync для запуска асинхронной операции.The following code example demonstrates the use of the RunWorkerAsync method to start an asynchronous operation. Он является частью более крупного примера, описанного в разделе как: Скачайте файл в фоновом.It is part of a larger example described in How to: Download a File in the 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();
    }
}
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

Комментарии

Метод RunWorkerAsync отправляет запрос на запуск операции, выполняемой асинхронно.The RunWorkerAsync method submits a request to start the operation running asynchronously. При обслуживании запроса возникает событие DoWork, которое, в свою очередь, начинает выполнение фоновой операции.When the request is serviced, the DoWork event is raised, which in turn starts execution of your background operation.

Если фоновая операция уже выполняется, вызов RunWorkerAsync снова вызывает InvalidOperationException.If the background operation is already running, calling RunWorkerAsync again will raise an InvalidOperationException.

Дополнительно

RunWorkerAsync(Object)

Запускает выполнение фоновой операции.Starts execution of a background operation.

public:
 void RunWorkerAsync(System::Object ^ argument);
public void RunWorkerAsync (object argument);
member this.RunWorkerAsync : obj -> unit
Public Sub RunWorkerAsync (argument As Object)

Параметры

argument
Object

Параметр, для использования фоновой операцией, выполняемой в обработчике событий DoWork.A parameter for use by the background operation to be executed in the DoWork event handler.

Исключения

Свойство IsBusy имеет значение true.IsBusy is true.

Примеры

В следующем примере кода показано использование метода RunWorkerAsync для запуска асинхронной операции.The following code example demonstrates the use of the RunWorkerAsync method to start an asynchronous operation. Этот пример кода является частью большого примера, приведенного для класса BackgroundWorker.This code example is part of a larger example provided for the BackgroundWorker class.

// Start the asynchronous operation.
backgroundWorker1->RunWorkerAsync( numberToCompute );
// Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute);

' Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute)

Комментарии

Метод RunWorkerAsync отправляет запрос на запуск операции, выполняемой асинхронно.The RunWorkerAsync method submits a request to start the operation running asynchronously. При обслуживании запроса возникает событие DoWork, которое, в свою очередь, начинает выполнение фоновой операции.When the request is serviced, the DoWork event is raised, which in turn starts execution of your background operation.

Если для операции требуется параметр, его можно указать в качестве параметра argument для RunWorkerAsync.If your operation requires a parameter, you can provide it as the argument parameter to RunWorkerAsync.

Если фоновая операция уже выполняется, вызов RunWorkerAsync снова вызывает InvalidOperationException.If the background operation is already running, calling RunWorkerAsync again will raise an InvalidOperationException.

Дополнительно

Применяется к