Aracılığıyla paylaş


BackgroundWorker.RunWorkerAsync Yöntem

Tanım

Arka plan işleminin yürütülmesini başlatır.

Aşırı Yüklemeler

RunWorkerAsync()

Arka plan işleminin yürütülmesini başlatır.

RunWorkerAsync(Object)

Arka plan işleminin yürütülmesini başlatır.

RunWorkerAsync()

Kaynak:
BackgroundWorker.cs
Kaynak:
BackgroundWorker.cs
Kaynak:
BackgroundWorker.cs

Arka plan işleminin yürütülmesini başlatır.

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

Özel durumlar

IsBusy, true değeridir.

Örnekler

Aşağıdaki kod örneği, zaman uyumsuz bir işlem başlatmak için yönteminin kullanımını RunWorkerAsync gösterir. Bu, Nasıl yapılır: Arka Planda Dosya İndirme bölümünde açıklanan daha büyük bir örneğin bir parçasıdır.

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

Açıklamalar

yöntemi, RunWorkerAsync işlemi zaman uyumsuz olarak çalıştırmak için bir istek gönderir. İsteğe hizmet edildiğinde olay DoWork oluşturulur ve bu da arka plan işleminizin yürütülmesini başlatır.

Arka plan işlemi zaten çalışıyorsa, yeniden çağrılması RunWorkerAsync bir InvalidOperationExceptionoluşturur.

Ayrıca bkz.

Şunlara uygulanır

RunWorkerAsync(Object)

Kaynak:
BackgroundWorker.cs
Kaynak:
BackgroundWorker.cs
Kaynak:
BackgroundWorker.cs

Arka plan işleminin yürütülmesini başlatır.

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)

Parametreler

argument
Object

Olay işleyicisinde DoWork yürütülecek arka plan işlemi tarafından kullanılacak bir parametre.

Özel durumlar

IsBusy, true değeridir.

Örnekler

Aşağıdaki kod örneği, zaman uyumsuz bir işlem başlatmak için yönteminin kullanımını RunWorkerAsync gösterir. Bu kod örneği, sınıfı için BackgroundWorker sağlanan daha büyük bir örneğin parçasıdır.

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

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

Açıklamalar

yöntemi, RunWorkerAsync işlemi zaman uyumsuz olarak çalıştırmak için bir istek gönderir. İsteğe hizmet edildiğinde olay DoWork oluşturulur ve bu da arka plan işleminizin yürütülmesini başlatır.

İşleminiz bir parametre gerektiriyorsa parametresi olarak argumentRunWorkerAsyncsağlayabilirsiniz.

Arka plan işlemi zaten çalışıyorsa, yeniden çağrılması RunWorkerAsync bir InvalidOperationExceptionoluşturur.

Ayrıca bkz.

Şunlara uygulanır