Bagikan melalui


BackgroundWorker.IsBusy Properti

Definisi

Mendapatkan nilai yang menunjukkan apakah BackgroundWorker menjalankan operasi asinkron.

public:
 property bool IsBusy { bool get(); };
public bool IsBusy { get; }
[System.ComponentModel.Browsable(false)]
public bool IsBusy { get; }
member this.IsBusy : bool
[<System.ComponentModel.Browsable(false)>]
member this.IsBusy : bool
Public ReadOnly Property IsBusy As Boolean

Nilai Properti

true, jika BackgroundWorker menjalankan operasi asinkron; jika tidak, false.

Atribut

Contoh

Contoh kode berikut menunjukkan cara menggunakan IsBusy properti untuk menunggu penyelesaian BackgroundWorker operasi. Contoh kode ini adalah bagian dari contoh yang lebih besar yang dijelaskan dalam Cara: Mengunduh File di Latar Belakang.

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

Keterangan

BackgroundWorker memulai operasi asinkron saat Anda memanggil RunWorkerAsync.

Berlaku untuk

Lihat juga