首页 > 代码库 > 跨线程调用控件 Invoke 与 BeginInvoke 区别

跨线程调用控件 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 区别