c# 异步更新UI 不阻塞

简介:

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; }));

 

 

    本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2012/08/23/2652276.html,如需转载请自行联系原作者




相关文章
|
3月前
|
编译器 数据处理 C#
C#中的异步流:使用IAsyncEnumerable<T>和await foreach实现异步数据迭代
【1月更文挑战第10天】本文介绍了C#中异步流的概念,并通过使用IAsyncEnumerable<T>接口和await foreach语句,详细阐述了如何异步地迭代数据流。异步流为处理大量数据或需要流式处理数据的场景提供了一种高效且非阻塞性的方法,使得开发者能够更优雅地处理并发和数据流问题。
|
3月前
|
存储 传感器 监控
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
28 0
|
5月前
|
C#
C#异步详解
c#异步编程原理,await asnyc的使用方法
33 0
|
8月前
|
C# 开发者
C# 开发者技术:进程间数据共享之管道(Pipes)-异步通信版
主要类 1.NamedPipeClientStream 2.NamedPipeServerStream 解释:命名管道是一种进程间通信的方式,它允许不同进程之间在同一台机器上进行通信
444 2
C# 开发者技术:进程间数据共享之管道(Pipes)-异步通信版
|
9月前
|
存储 前端开发 API
C# 从做早餐看同步异步
C# 从做早餐看同步异步
41 0
Flutter的异步UI初始化FutureBuilder
Flutter的异步UI初始化FutureBuilder
|
10月前
|
存储 SQL 设计模式
C#异步有多少种实现方式?
C#异步有多少种实现方式?
c#异步多线程
c#异步多线程
57 0
|
前端开发
异步 ”省市县级联“ 的2种方式【Element UI 版】
异步 ”省市县级联“ 的2种方式【Element UI 版】
128 0
异步 ”省市县级联“ 的2种方式【Element UI 版】
Auto.js 特殊定位控件方法 不能在ui线程执行阻塞操作,请使用setTimeout代替
Auto.js 特殊定位控件方法 不能在ui线程执行阻塞操作,请使用setTimeout代替
1167 0
Auto.js 特殊定位控件方法  不能在ui线程执行阻塞操作,请使用setTimeout代替