C#使用线程还是出现:线程间操作无效: 从不是创建控件“label4”的线程访问它。

[复制链接]
查看11 | 回复2 | 2013-8-1 15:06:47 | 显示全部楼层 |阅读模式
不能从线程里直接使用this.label4.Text =shun_liuliang + "\r\n";这种的东西因为UI控件操作不是线程安全的如果要通过线程更改UI,需要使用invoke来做1.在Form里写一个更改UI的函数2.声明一个代理,这个代理可以代理这个更改UI的函数3.函数内部if(this.label4.invokerequied)//判断是否需要invoke操作{ //实例化此函数自身的代理 //如果此函数有参数,需要创建一个数组,按参数数量和顺序存放参数//使用this.label4.begininvoke(代理,参数)来申请UI更新}else{/...
回复

使用道具 举报

千问 | 2013-8-1 15:06:47 | 显示全部楼层
private static int _i;
private readonly Action _func;
public Form1()
{
_func = param=>
{
...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行