C# this.invoke()作用

Invoke()的作用是:在应用程序的主线程上执行指定的委托。一般应用:在辅助线程中修改UI线程( 主线程 )中对象的属性时,调用this.Invoke();

例如:

(1)

//修改按钮的Enabled属性

private void ModifyButton( bool _b )

{

   this.Button1.Enabled = _b;

}

(2)

//声明上面方法的委托

private delegate void ModifyButton_dg( bool _b );

(3)

//调用委托

private void Calldelgate( )

{

  this.Invoke( new ModifyButton_dg( ModifyButton ) ,new object[]{false});

}

(4)

可以在非UI线程中调用 ,如:        Thread _t = new Thread( new ThreadStart( threadmethod ));        _t.Start();
      private void threadmethod ()      {        //其他代码省略
      Calldelgate();      }
      线程会在UI线程和辅助线程之间相互转换

posted @ 2012-12-03 12:53  tse johnson  阅读(602)  评论(0编辑  收藏  举报