首页 新闻 会员 周边

C#非UI线程如何和UI线程交互,应该注意哪些东西?

0
悬赏园豆:5 [已解决问题] 解决于 2013-01-16 16:02

C#非UI线程如何和UI线程交互,应该注意哪些东西?

Andy.Li的主页 Andy.Li | 初学一级 | 园豆:170
提问于:2013-01-16 10:27
< >
分享
最佳答案
0

委托,

form.invoke

form.begininvoke

收获园豆:5
只会造轮子 | 老鸟四级 |园豆:2274 | 2013-01-16 11:52

Why can not I reply you in Chinese. Once I select sogou,it is handled.

As to the question,can you explain it in more details?

Thanks!

Andy.Li | 园豆:170 (初学一级) | 2013-01-16 12:12

@〆.落若兮。: 我不知道你具体要实现什么功能,下面是我一个非UI线程,输出log到textBox的方法,

   delegate void OneStringParmenters(string s);
        /// <summary>
        /// 输出日志到窗口
        /// </summary>
        /// <param name="strLog"></param>
        public void UpdateLog(string strLog)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new OneStringParmenters(UpdateLog), strLog);
            }
            else
            {
                txtLog.AppendText(string.Format("{0}:{1}\r\n", DateTime.Now.ToString("G"), strLog));
            }
        }

只会造轮子 | 园豆:2274 (老鸟四级) | 2013-01-16 15:53
其他回答(1)
0

控件交互

1、使用backgroundWorker控件

2、参考http://hi.baidu.com/yyq745201/item/1441d2dc4aff18f292a97423提出的两种方法

至于数据交互,可以使用CallContext.LogicalSetData(),详细参考http://www.cnblogs.com/heyuquan/archive/2012/12/23/2830214.html的“执行上下文”小节

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-01-16 11:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册