我得到了一些使用委托来传递操作百分比的代码。 但是委托方法在与操作相同的线程上运行,这是一个后台工作者。因此,如果没有调用,就无法在委托方法中更新进度条。
我应该在委托方法中调用还是有更好的方法? 我真的不明白msdn上的例子(它也是在vb.net中使得它变得更难:/)。
答案 0 :(得分:4)
您可以在包含进度条的表单中添加下面的内容。 这将检查是否需要调用。
public void SetProgressValue(int value)
{
if (this.ProgressBar.InvokeRequired)
{
this.BeginInvoke(new Action<int>(SetProgressValue), value);
return;
}
this.ProgressBar.Value= value;
}
答案 1 :(得分:0)
Dispatcher.BeginInvoke((Action)()=&gt; YourDelegate());