代码改变世界

c# 异步更新UI 不阻塞

2012-08-23 12:51  曾祥展  阅读(5792)  评论(0编辑  收藏

c# 异步更新UI 不阻塞  流畅


Task task = Task.Factory.StartNew(() =>
{
   
DoLongRunningWork(); // 耗时运算
});
Task UITask= task.ContinueWith(() =>
   
{
     
this.TextBlock1.Text = "Complete"; //运算后 赋值
   
}, TaskScheduler.FromCurrentSynchronizationContext());



btnStop.Invoke(new Action(delegate() { this.btnStop.Enabled = false; }));
btnStart.Invoke(new Action(delegate() { this.btnStart.Enabled = true; }));