BackgroundWorker.RunWorkerAsync Метод

Определение

Запускает выполнение фоновой операции.

Перегрузки

Имя Описание
RunWorkerAsync()

Запускает выполнение фоновой операции.

RunWorkerAsync(Object)

Запускает выполнение фоновой операции.

RunWorkerAsync()

Исходный код:
BackgroundWorker.cs
Исходный код:
BackgroundWorker.cs
Исходный код:
BackgroundWorker.cs
Исходный код:
BackgroundWorker.cs
Исходный код:
BackgroundWorker.cs

Запускает выполнение фоновой операции.

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

Исключения

Примеры

В следующем примере кода показано использование RunWorkerAsync метода для запуска асинхронной операции. Это часть более крупного примера, описанного в разделе "Практическое руководство. Скачивание файла в фоновом режиме".

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

Комментарии

Метод RunWorkerAsync отправляет запрос, чтобы запустить операцию асинхронно. При обслуживании запроса возникает событие, которое, в свою очередь, DoWork запускает выполнение фоновой операции.

Если фоновая операция уже запущена, вызов RunWorkerAsync снова вызовет вызов InvalidOperationException.

См. также раздел

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

RunWorkerAsync(Object)

Исходный код:
BackgroundWorker.cs
Исходный код:
BackgroundWorker.cs
Исходный код:
BackgroundWorker.cs
Исходный код:
BackgroundWorker.cs
Исходный код:
BackgroundWorker.cs

Запускает выполнение фоновой операции.

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)

Параметры

argument
Object

Параметр, используемый фоновой операцией, выполняемой в обработчике DoWork событий.

Исключения

Примеры

В следующем примере кода показано использование RunWorkerAsync метода для запуска асинхронной операции. Этот пример кода является частью более крупного примера, предоставленного для BackgroundWorker класса.

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

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

Комментарии

Метод RunWorkerAsync отправляет запрос, чтобы запустить операцию асинхронно. При обслуживании запроса возникает событие, которое, в свою очередь, DoWork запускает выполнение фоновой операции.

Если для операции требуется параметр, его можно указать в качестве argument параметра RunWorkerAsync.

Если фоновая операция уже запущена, вызов RunWorkerAsync снова вызовет вызов InvalidOperationException.

См. также раздел

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