通常情况下显示界面(如Winform)的笁作是由一个单独的线程完成的,假设它为线程A
此时,如果有另外一个线程假设名为线程B线程B想在线程A的界面中显示一行文本信息,這个时候如果线程B直接调用线程A中的显示控件的方法就有可能会出现InvalidOperationException异常。
Invoke 方法允许同步执行控件上的方法而 BeginInvoke 方法则初始化异步执行。
要使用这些方法必须用与将调用的方法相同的签名声明委托。然后您可以通过向要调用的方法提供适当的委托来调用窗体上任何控件的 Invoke 或 BeginInvoke 方法。任何必需的参数都包装在 Object 中并被传输到该方法。
参考文档: “线程间操作无效: 从不是创建控件“progress1”的线程访问它”