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的安装步骤。
  • 热门搜索
    trunk是什么意思 竖直上抛运动 杜鹃花的养殖方法 水客是什么意思 三农是什么 cbd什么意思 口腔溃疡维生素 枕头什么牌子好 噬菌体是什么 wood是什么意思