跨线程操作UI
this.Invoke(new Action(()=>
{
button.Text="关闭";
}));
this.Invoke(new EventHandler(delegate
{
button.Text="关闭";
}));
this.Invoke和this.BeginInvoke的区别:
1、Invoke会阻止当前主线程的运行;BeginInvoke不会阻止当前主线程的运行,而是等当前主线程做完事情之后再执行
BeginInvoke中的代码内容。
2、这2个方法都是由主线程运行的,并不是异步执行,如果代码耗时过长,同样会造成界面卡死