前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用异步多线程更新WinForm界面

使用异步多线程更新WinForm界面

原创
作者头像
谭广健
修改2021-06-21 11:01:48
7040
修改2021-06-21 11:01:48
举报
文章被收录于专栏:谭广健的专栏谭广健的专栏

在程序中使用多线程处理已经是老生常谈了,特别是现在CPU多核的情况下,多线程使用基本已经是家常便饭;但由于总总的原因UI界面对多线程还是不太理想,当然办法很多;我这里就分享一个我在用的通过异步线程对WinForm的界面进行同步的代码:

代码语言:javascript
复制
 private void ShowMsg(string identify,string txt) {
            Action showUi = () => {
                richTextBox1.Text += ($"当前信息id:{identify},内容:{msg}\r\n");
            };
            richTextBox1.Invoke(showUi);
      }

上面这个就一个简单,通过异步去更新界面UI,但如果想传参数怎么呢?

代码语言:javascript
复制
 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 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档