Winform中如何进行跨线程访问
1、首先创建一个Windorm的窗体程序,程序的结构如下图所示

2、然后我们在窗体中拖入Button和TextBox两个控件,如下图所示

3、接下来我们先来定义一下线程执行方法,如下图所示,方法最后需要把结果赋值给TextBox

4、然后我们在按钮的点击方法中启动线程,如下图所示,这里没有什么特殊的地方,主要是把执行方法加载进线程

5、运行程序以后,你会发现报如下的错误,提示TextBox不是当前线程创建的不能访问,这就是跨线程访问的问题

6、解决这种问题我们可以在Form1的构造函墙绅褡孛数中将TextBox的CheckForIllegalCrossThreadCalls设置为false即可,如下图所示

7、但是上面的方法不是很友好,我们可以通过Invoke方法来进行跨线程访问,如下图所示

8、综上所述,在Winform中进行跨线程访问的话我们需要通过Invoke方法进行实现,它让程序去找控件的创建者去执行。