Winform中如何进行跨线程访问

 时间:2024-10-11 22:37:45

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方法进行实现,它让程序去找控件的创建者去执行。

  • Centos8终端怎么设置光标形状
  • QT中如何有效查找父对象的子对象
  • uCOS-II移植时死在B OSStartHang解决办法
  • ubuntu16.04 mate桌面更换主题
  • windows10系统下安装nginx的安装步骤。
  • 热门搜索
    花菜怎么炒 诺氟沙星胶囊怎么样 路由器怎么重置 教师节用英语怎么说 忘记wifi密码怎么办 ofo怎么退余额 怎么找回wifi密码 怎么插入页码 微信英语怎么说 中国海洋大学怎么样