首页 新闻 会员 周边

使用Task如何跨线程修改窗体控件?

0
[待解决问题]

想要写一个小程序,是socket实现多线程网络连接(死循环反复执行数据发送接收),然后把返回的信息实时更新到窗体的label控件上面,但是我尝试跨线程之后窗体还是卡住了,希望前辈们能给出一个解决办法,感谢。

cyes的主页 cyes | 菜鸟二级 | 园豆:208
提问于:2012-06-13 22:57
< >
分享
所有回答(2)
0
dudu | 园豆:31007 (高人七级) | 2012-06-14 10:25
0
            Thread t = new Thread(new ThreadStart(() =>
            {
                for (int i = 0; i < 2000; i++)
                {
                    if (label1.InvokeRequired)
                        this.Invoke(new Action(() => { label1.Text = i.ToString(); }));
                    else
                        label1.Text = i.ToString();
                }
            }));

只能打个比方。。。。。

松鼠鱼 | 园豆:185 (初学一级) | 2012-06-14 14:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册