在程序中使用多线程处理已经是老生常谈了,特别是现在CPU多核的情况下,多线程使用基本已经是家常便饭;但由于总总的原因UI界面对多线程还是不太理想,当然办法很多;我这里就分享一个我在用的通过异步线程对WinForm的界面进行同步的代码:
private void ShowMsg(string identify,string txt) {
Action showUi = () => {
richTextBox1.Text += ($"当前信息id:{identify},内容:{msg}\r\n");
};
richTextBox1.Invoke(showUi);
}
上面这个就一个简单,通过异步去更新界面UI,但如果想传参数怎么呢?
private void ShowMsg(string identify,string msg) {
Action<string,string> showUi = (a,b) => {
richTextBox1.Text += ($"当前信息id:{a},内容:{b}\r\n");
};
richTextBox1.Invoke(showUi,new object[] { identify, msg });
}
就这样可以了,萝卜青菜各有所爱吧。。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。