C# UI界面的更新
需要在窗体上不停修改 文本框的值。代码如下
for (int i = 0; i < 20; i++) {
lblCurrentIndex.Text = @"编号:" + i.ToString();
Thread.Sleep(1000);
}
可实际效果是:等全部执行完成后,才显示“编号:19”。这是因为for循环运行在主线程中,而刷新界面使用的就是i主线程是。尽管修改文本框的值有效,但界面没有刷新,等待for循环结束后,主线程才能刷新。
正确的做法:将耗时循环放在另一个线程中执行
var t1 = new Task(() =>
{
for (int i = 0; i < 20; i++)
{
_syncContext.Post(Ui, i);
Thread.Sleep(1000);
}
});
t1.Start();
由于不能再另一个线程对UI进行修改,使用SynchronizationContext完成跨线程UI修改
private readonly SynchronizationContext _syncContext;
public FormPointCheck()
{
InitializeComponent();
_syncContext = SynchronizationContext.Current;
}
public void Ui(object i)
{
lblCurrentIndex.Text = @"当前点编号:" + i.ToString();
}
C# UI界面的更新相关推荐
- vs+qt 在改完ui界面后在程序中出现找不到成员变量或者ui界面不更新。
这个现象是vs的bug,在改变完ui界面后会重新生成ui_xxxx.h和moc_xxxx.obj文件.但有的时候会没有重新生成,或者在错误的路径下生成重复的ui_xxxx.h,导致每次用的都是另一个不 ...
- element ui 图片上传_游民晚播报:PS5手柄续航情况测试 UI界面概览放出
各位朋友晚上好,现在为您带来今天的晚间播报.一起来回顾一下今天白天游戏圈内外都有哪些要闻.趣闻. 要闻回顾: 1.PS5 DualSense手柄续航情况 触觉反馈密集游戏更耗电 新闻原文:点击查看 P ...
- Android异步处理二:AsynTask介绍和使用AsyncTask异步更新UI界面
做一下如何同构AsyncTask异步任务来更新UI界面. (1)AsyncTask的介绍 通过上图中的AsyncTask的源码结构图可以看到,主要用于重载的方法是doInBackground(),on ...
- QT Creator 使用 design 修改 ui界面编译后界面未更新代码提示
我的开发环境: 1,VS2008 2,qt-win-opensource-4.7.4-vs2008 3,qt-vs-addin-1.1.9 为了开发方便,我也安装了qt-creator-win-ope ...
- 最新UI界面漫画小程序源码,带后台支持流量主,24小时全自动更新!
前言 今天给大家带来一款漫画小程序源码,带后台支持流量主,24小时自动更新,亲测可用,小程序UI我简单的修改了一下,漫画24小时自动更新,免维护,支持流量主,搭建宣传一波等裂变即可! 安装教程 准备工 ...
- 安卓在子线程中实现更新UI界面的三种方法 Handler+Message、runOnUiThread、控件.post()
1.说明 安卓中UI线程为主线程,更新UI界面必须在主线程中进行,在子线程中实现更新UI界面的三种方法:Handler.RunOnUiThread.控件.post() 2.1 Handler (1)定 ...
- cf端游界面更新显示服务器繁忙,【CF】UI界面更新了,那玩家期待已久的经典服务器呢?...
原标题:[CF]UI界面更新了,那玩家期待已久的经典服务器呢? Hello,大家好,我是你们的灵狐姐,相信小伙伴们都知道新版本更新的所有内容了!目前体验服已经正式上线,相信不久后正服也是马上更新了!本 ...
- 解决Python Socket UDP端口侦听线程内更新UI界面卡顿、奔溃的问题
网络读卡器介绍:WIFI无线网络RFID云读卡器远程网络开关物流网NB-IoT4G刷卡阅读器-淘宝网 (taobao.com) Python使用PyQt5做UI界面,开启线程侦听UDP端口,端口接收到 ...
- 在Service中通过WindowManger添加View的方式来把UI界面显示出来
整体方案 在Service中通过WindowManger添加View的方式来把UI界面显示出来 业务场景 具体场景 IQOO手机,游戏辅助 这种场景能否使用Activity方式来做 使用activit ...
最新文章
- Java Collection
- MATLAB读取JSON数据(使用JSONlab工具箱)
- lombok链式调用_记一次使用 Lombok 翻车造成的事故!
- 把Sublime Text 2打造成一个轻量级Python的IDE
- 可恶,谁占用了我的80端口?
- php %3c%3c%3cxml 报错,代码审计| APPCMS SQL-XSS-CSRF-SHELL
- mysql saveorupdate_Mybatis SaveOrUpdate插件
- 信息学奥赛一本通(1219:马走日)
- 图像算法三:【图像增强--空间域】图像平滑、中值滤波、图像锐化
- Linux 命令(84)—— id 命令
- 聚簇索引和非聚簇索引的原理
- Could not find com.serenegiant:common:4.1.1
- Flink 异步IO优化任务
- 【毕业设计】深度学习 YOLO 实现车牌识别算法
- wps如何只让他显示3级标题_怎么设置一二三级标题
- 服务器私有信息,私有服务器
- 王道数据结构P40第一题,为什么直接去掉结点不会造成断链?
- 简述dijkstra算法原理_理解最短路径——迪杰斯特拉(dijkstra)算法
- linux系统安装绿色版mysql
- 快速排序、快排的优化 及Java实现