我使用的是後臺工作者,因爲我的程序中的某些方法需要時間從互聯網上下載數據。這種方法「阻塞」5-6秒的軟件,所以我想用後臺工作者來執行線程的方法。在我的課堂我已經創建此:BackgroundWorker工作不正常
private BackgroundWorker worker = new BackgroundWorker();
,後組合框選擇改變了,我叫BackgroundWorker的這樣:
worker.DoWork += new DoWorkEventHandler(doWork);
的方法的doWork包含:
public void doWork(object sender, DoWorkEventArgs e)
{
classifica.getClassifica(); //call the method from another class
}
現在我的問題是BackgroundWorker沒有調用方法doWork
。 我做錯了什麼?
你開始了嗎?此外,您不需要BackgroundWorker在後臺運行某些內容。首選的方法是使用'async/await'來創建一個異步事件處理程序。 –
調用worker.DoWork不會自動啓動? –
不,您需要在工作對象上調用'RunWorkerAsync' –