由於進程使得用戶界面無法響應,因此我正在運行一個漫長的進程作爲後臺進程。當使用後臺進程時鼠標光標未按需要顯示
現在的問題是,當進程作爲後臺進程運行時,我想顯示一個等待遊標。我嘗試使用調度程序來更新遊標,但它不起作用。
private void btnStartAsyncOperation_Click(object sender, EventArgs e)
{
backgroundworkerprocess.RunWorkerAsync();
}
在backgroundworkerprocess事件:
我的過程按鈕點擊運行
void backgroundworkerprocess_DoWork(object sender, DoWorkEventArgs e)
{
this.dispatcher.invoke(DispatcherPriority.Background,
new action((delegate) {
this.cursor = cursors.wait
})
);
}
我希望這會導致出現在窗體上的任意位置顯示等待光標,但它只是當鼠標在按鈕上方時顯示。
這甚至不是有效的C#。您缺少分號和不正確的大寫。你的*實際*代碼是什麼? – Ryan
嗯,你沒有設置光標。啓動BackgroundWorker不會自動更改光標。在開始後臺操作時,必須將Button的Cursor屬性更改爲WaitCursor,然後當事件觸發以指示工作完成時,請將光標改回。 – KeithS
這段代碼是用什麼級別的?什麼是'這個'? – cadrell0