异步调用方法

delegate 有一个begininvoke 方法,

会开一个新线程去处理。

当需要处理UI 控件时,需要判断,caller是不是和该控件在一个线程上,否则就要用delegate回到ui 线程。

并且调用控件的Invoke方法。

例如

 private delegate void SetTextHandler(string msg);

     if (txtOutput.InvokeRequired)
            {
                SetTextHandler handler = new SetTextHandler(SetText);
                this.txtOutput.Invoke(handler, new object[] { msg });
            }
            else
                txtOutput.Text += msg + "\r\n";

posted @ 2014-08-19 15:07  alwaysdotnet  阅读(202)  评论(0编辑  收藏  举报