使用委托解决方法的跨线程调用问题

  1 //声明和需进行跨线程调用的方法相同形参表的委托
  2 public delegate void AddStatusInfoToFormCallback(string str);
  3 private void AddStatusInfoToForm(string str)
  4 {
  5     //检测调用控件的线程和创建控件的线程是否相同
  6     //如果调用控件的线程和创建创建控件的线程不是同一个则为True
  7     if (InvokeRequired)
  8     {
  9         //使用委托调用本方法
 10         var d = new AddStatusInfoToFormCallback(AddStatusInfoToForm);
 11         Invoke(d, str);
 12     }
 13     else
 14     {
 15         //当前线程调用
 16         Controls.Clear();
 17     }
 18 }

转载于:https://www.cnblogs.com/WayneShao/p/7278009.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值