关于这个问题,网上可以搜到很多解决方法,目前项目中比较常用的方法记录如下:
//更新UI方法
private void UpdTagInfo(string msg) { rtbTagInfo.AppendText(msg); } public void ReceiveReadMsg(string tagMsg) { if (rtbTagInfo.InvokeRequired) //判断是否跨线程
{ rtbTagInfo.BeginInvoke(new Action<string>(UpdTagInfo), tagMsg);//通过委托调用方法更新 } else { UpdTagInfo(tagMsg);//直接调用方法更新 } }