Winform中如何进行跨线程访问

2025-05-12 18:44:27

1、首先创建一个Windorm的窗体程序,程序的结构如下图所示

Winform中如何进行跨线程访问

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

Winform中如何进行跨线程访问

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

Winform中如何进行跨线程访问

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

Winform中如何进行跨线程访问

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

Winform中如何进行跨线程访问

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

Winform中如何进行跨线程访问

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

Winform中如何进行跨线程访问

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢