BackgroundWorker.IsBusy 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會得到一個值,表示是否 BackgroundWorker 正在執行非同步操作。
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
屬性值
true,若執行BackgroundWorker非同步操作;否則,。 false
- 屬性
範例
以下程式碼範例示範如何利用該 IsBusy 屬性等待操作完成 BackgroundWorker 。 此程式碼範例是《 如何:在背景下載檔案》中描述的更大範例的一部分。
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時,就會BackgroundWorker啟動非同步操作。
適用於
另請參閱
- RunWorkerCompleted
- EventArgs
- RunWorkerAsync
- 如何:在背景執行操作
- 如何:在背景下載檔案