异步调用方法

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 + " ";

Always.Net
原文地址:https://www.cnblogs.com/alwaysdotnet/p/3922161.html