Прочитать на английском

Поделиться через


BackgroundWorker.RunWorkerAsync Метод

Определение

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

Перегрузки

RunWorkerAsync()

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

RunWorkerAsync(Object)

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

RunWorkerAsync()

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

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

public void RunWorkerAsync ();

Исключения

IsBusy имеет значение true.

Примеры

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

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();
    }
}

Комментарии

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

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

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

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

Продукт Версии

RunWorkerAsync(Object)

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

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

public void RunWorkerAsync (object argument);
public void RunWorkerAsync (object? argument);

Параметры

argument
Object

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

Исключения

IsBusy имеет значение true.

Примеры

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

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

Комментарии

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

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

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

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

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

Продукт Версии