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

本文共 612 字,大约阅读时间需要 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://fmuto.baihongyu.com/

你可能感兴趣的文章
POJ 2506 Tiling dp+大数 水题
查看>>
EasyCHM - 电子书制作软件
查看>>
电脑组装图文教程电子书
查看>>
U盘安全工具箱 V 1.0 修正版
查看>>
Java定时任务的简单实现
查看>>
cacti运维手册
查看>>
apache 2.2 配置参数详解
查看>>
2013 linux最新面试题及答案 (非常强大)
查看>>
Linux学习之路-Nginx(4)模块简要介绍篇【27】---20180228
查看>>
IDEA 极速导包功能
查看>>
推荐子龙山人的emacs视频教程
查看>>
细说shiro之二:组件架构
查看>>
Linux---解压缩
查看>>
高可用Keepalived
查看>>
CentOS(RHEL)内核版本与系统版本对应关系
查看>>
Linux之本地yum源
查看>>
安装配置SVN服务-1
查看>>
vs2010开发安卓系统
查看>>
Splunk Forward简单部署_Win
查看>>
Oracle 双机热备:Oracle dataguard 和Oracle rac的区别和联系
查看>>