- invoke的含义是:在拥有此控件的基础窗口句柄的现呈上同步执行指定的委托(同步)
- beginInvoke的含义是:在创建控件的基础句柄所在线程上异步执行的委托(异步)
- 句柄(Handle):
编号就是句柄。句柄的作用就是将对象的真实地址隐藏起来,同时提供一种对该对象的映射地址方便调用。这样既能保证对象的安全性,也能保证调用的便利。
//this.invoke的使用方法 //第一步:定义修改UI的方法 private void ModifyButton( bool _b ) { this.Button1.Enabled = _b; } //第二步:声明第一步方法的委托 private delegate void ModifyButton_dg( bool _b ); //第三步:调用委托 private void Calldelgate( ) { /*在Windows窗体应用程序中使用this.Invoke 在WPF应用程序中使用this.Dispatcher.Invoke*/ this.Invoke( new ModifyButton_dg( ModifyButton ) ,new object[]{false}); } //第四步:在非UI的线程中调用 //创建线程 Thread _t = new Thread( new ThreadStart( threadmethod )); _t.Start(); //线程入口 private void threadmethod () { Calldelgate(); }