当前位置:代码狗 > 开发教程 > C#开发教程 > 正文

C#跨线程访问控件

说道跨线程就不得不提委托,委托在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;//赋值操作 可自行替换
 }
 }

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

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

赞(2) 打赏

评论 抢沙发

×

请作者吃根烤肠!

支付宝