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;//赋值操作 可自行替换
 }
 }

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

转载请注明出处:C#如何跨线程访问控件
本文链接:https://www.axdzc.com/blog/cfwkj

评论0

请先

1.即日起暂时取消网站QQ登录,之前用QQ登录的会员请联系客服绑定邮箱或改为密码登录。 2.交流社区已上线,会员如需交流请移动至交流社区发帖。
没有账号? 忘记密码?