跨线程调用控件 Invoke 与 BeginInvoke 区别

Posted LarvaAndQing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨线程调用控件 Invoke 与 BeginInvoke 区别相关的知识,希望对你有一定的参考价值。

public  delegate void Add_B(object x);

                  

                    List<object> Ls = new List<object>();

                    Ls.Add(i);

                    Ls.Add("你好");


                    this.Invoke(new Action<object>(this.Add), Ls);

                   //new Action<T>可以传递至多16种不合的参数类型.

                   //例如:Action<in T1>调用带一个参数的办法,Action<in T1,in T2>.

                  //new Action 无参数传递的封装委托方法

                 //this.Invoke(new Add_B(Add),Ls);自定带传递参数的委托方法。

                //this.Invoke(new Add_B(Add),new object[]{"你好","这是传递第二个参数"});.

                    static void Add(object x)

                    {

                         List<object> LL = (List<object>)x;

                          textbox1.Text = (string)LL[1];

                     }

 

以上是关于跨线程调用控件 Invoke 与 BeginInvoke 区别的主要内容,如果未能解决你的问题,请参考以下文章

关于Invoke和InvokeRequired

VB跨线程调用WPF控件

c#中如何跨线程调用windows控件

c# 跨线程调用控件的方法

跨线程访问控件的问题和编程方法

Control类的Invoke 和 BeginInvoke