调用委托(方法)

时间:2011-11-11 14:27:52

标签: c# delegates invoke

我得到了一些使用委托来传递操作百分比的代码。 但是委托方法在与操作相同的线程上运行,这是一个后台工作者。因此,如果没有调用,就无法在委托方法中更新进度条。

我应该在委托方法中调用还是有更好的方法? 我真的不明白msdn上的例子(它也是在vb.net中使得它变得更难:/)。

2 个答案:

答案 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());