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线程和辅助线程之间相互转换