让代码更简单

C#跨线程访问控件

重要:本文最后更新于2018-04-20 09:24:25,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

说道跨线程就不得不提委托,委托在C#中非常重要。今天的办法也是通过委托实现,不过却是对跨线程访问控件这类操作做了个简单处理,方便以后使用这个方法访问控件。

代码狗

代码狗

这个方法会自动判断是不是跨线程访问控件,即使不是也能正常执行,一举两得。

方法代码:

先声明委托

复制
 public delegate void SetText(Control tb, string str);
复制
 private void SetAppendTB(Control tb, string str)
 {
 if (tb.InvokeRequired)//判断是不是跨线程 true是 false不是
 {
 SetText setText = new SetText(SetAppendTB);//实例化委托对象
 Invoke(setText, new object[] { tb, str });//线程传递
 }
 else
 {
 tb.Text = str;//赋值操作 可自行替换
 }
 }

代码很简单,逻辑很清楚,上面的代码出现了自己调用自己,只有一次,相信大家能看得懂,

感觉很棒!可以赞赏支持我哟~

3 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐