我找到了这段代码:
this.Invoke(new EventHandler(EventGetSum));
这和写作不一样吗:
EventGetSum();
这有什么用?
如果你这样写EventGetSum()
,立即调用EventGetSum 方法。
如果您编写new EventHandler(EventGetSum)
它会创建一个委托,该委托将(反过来)在调用 EventGetSum 时调用。
调用Control.Invoke
从负责控件的 UI 线程调用给定委托。这是必要的,因为您不能从任意线程访问 UI 元素。
它执行EventGetSum
窗口this
所属线程中的方法。
这通常在处理跨线程 UI 调用时使用。
查看 ISynchronizeInvoke 的 MSDN 文档。