博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#“多线程线程间操作无效: 从不是创建控件的线程访问它。”,跨线程修改控件属性解决方案...
阅读量:6495 次
发布时间:2019-06-24

本文共 689 字,大约阅读时间需要 2 分钟。

解决方案就是使用代理,在代理中调用主线程的方法来控制控件

///         /// 声明代理        ///         delegate void SetTextCallBack(string text);        ///         /// 代理函数,在线程中使用        ///         private void Tip(string text)        {            //判断主线程的控件是否需要使用代理来访问            if (this.tbTip.InvokeRequired)            {                //创建一个代理                SetTextCallBack stcb = new SetTextCallBack(Tip);                //执行代理                this.Invoke(stcb, new object[] { text });            }            else            {                //调用主线程的方法,并传递参数,这样就可以在_tip方法里面调用主线程的控件并修改属性了                _tip(text);            }        }本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/p/7851511.html,如需转载请自行联系原作者
你可能感兴趣的文章
解决maven下载jar慢的问题(如何更换Maven下载源)
查看>>
linux安装gitLab
查看>>
concurrent包的实现示意图
查看>>
golang os.Args
查看>>
Linux常用命令
查看>>
【重磅】云栖社区2017年度内容特辑
查看>>
Java WEB开发时struts标签 显示set内容
查看>>
spring-data-elasticsearch 概述及入门(二)
查看>>
Solr启动和结束命令
查看>>
1.12 xshell密钥认证
查看>>
3.2 用户组管理
查看>>
awk
查看>>
AliOS Things SMP系统及其在esp32上实现示例
查看>>
VMware虚拟机出现“需要整合虚拟机磁盘”的解决方法
查看>>
ibatis 动态查询
查看>>
汇编语言之实验一
查看>>
09、Modules - Directory根据目录加载模块文件
查看>>
观影识人生
查看>>
The Little Prince-12/12
查看>>
git 调用 Beyond Compare
查看>>