我有一個BackgroundWorker
_worker
BackgroundWorker的暫停
void _worker_DoWork(object sender, DoWorkEventArgs e)
{
_timer = new System.Timers.Timer();
_timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed);
_timer.Interval = 5000;
_timer.Start();
}
當它到達它認爲它已經完成如此打響RunWorkerCompleted event
行_timer.Start()
。
我不希望它結束,直到_timer.Interval
時間已經達到和_timer Elapsed event
已觸發:
void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
for (int i = 1; i < 20; i++)
{
if (listBox1.InvokeRequired)
listBox1.Invoke((Action)(() => listBox1.Items.Add("Do Things Thread")));
else
listBox1.Items.Add("Do Things Completed");
_worker.ReportProgress((int)(((decimal)i/(decimal)20) * 100));
Thread.Sleep(1000);
}
_timer.Stop();
}
因爲我需要的BackgroundWorker
報到了一些進展。
我該怎麼做。我需要它運行在不同的thread
。
你知道已經有線程定時器? – Lloyd
我不是......你能指點我到MSDN頁面嗎? –
Yeh sure - http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx – Lloyd