我有一个函数,我想每 1 秒运行一次,除此之外我还有其他东西,因为我在我的其他函数上使用 Thread 并避免窗口崩溃我决定使用 Backgroundworker 来调用假设像这样运行的函数:
Main()
{
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerAsync();
}
public void worker_DoWork(object sender, EventArgs e)
{
AutoChecking(); // thats a function should Run on Background every 1 second
}
public void AutoChecking()
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() =>
{
if (SystemisGood == true)
Updatecolor.Fill = Green;
else
Updatecolor.Fill = Red;
}));
}
然而,这个功能现在只能工作一次,任何理由或解决方案让它每秒钟工作一次并留在后台工作人员?!PS:我不想用定时器...