在.net中使用Invoke()有什么用?

时间:2009-02-27 10:42:42

标签: c# .net invoke

我找到了这段代码:

this.Invoke(new EventHandler(EventGetSum));

这与写作不一样:

EventGetSum();

这有什么用?

3 个答案:

答案 0 :(得分:13)

如果你写EventGetSum(),立即调用 EventGetSum方法。

如果你写new EventHandler(EventGetSum)创建一个委托,它将在调用EventGetSum时调用它。

Control.Invoke的调用从负责控制的UI线程调用给定的委托。这是必要的,因为您不能从任意线程访问UI元素。

答案 1 :(得分:5)

它执行线程EventGetSum所属的this方法。

答案 2 :(得分:4)

这通常在处理跨线程UI调用时使用。

查看ISynchronizeInvoke的MSDN文档。