使用Invoke进行父窗体或目标控件之间有什么区别吗?

如果我想从另一个线程处理控件,检查InvokeRequired和调用控件的Invoke方法和父窗体的区别是什么?

 if (theForm.InvokeRequired) Invoke(...) 

要么

 if (myControl.InvokeRequired) myControl.Invoke(...) 

来自MSDN :

Invoke方法搜索控件的父链,直到找到具有窗口句柄的控件或窗体(如果当前控件的基础窗口句柄尚不存在)。

这两个具有相同的效果。 您可以假设表单和控件是在同一个线程上创建的。