博客
关于我
Wpf 多线程修改UI示例:
阅读量:661 次
发布时间:2019-03-15

本文共 564 字,大约阅读时间需要 1 分钟。

1.Wpf 多线程修改UI示例:

//启动线程修改UI,抛出异常ThreadPool.QueueUserWorkItem((q) =>{    button.Content = "张三";}, null);

解决方案:使用Dispatcher.BeginInvoke+委托方式,修改UI

将修改UI的代码封装在委托中

//启动线程处理Thread thread1 = new Thread(UpdateBtn);thread1.IsBackground = true;//设置为后台线程,当主线程结束后,后台线程自动退出,否则不会退出程序不能结束thread1.Start();

复制代码

//线程方法,修改Button内容private void UpdateBtn(){    int i = 0;    while (true)    {        i++;        Action action1 = () =>        {            button.Content = i;        };        button.Dispatcher.BeginInvoke(action1);        // 如果不设置等待,整个程序死循环        Thread.Sleep(500);    }}

复制代码

转载地址:http://qxxmz.baihongyu.com/

你可能感兴趣的文章
navicat 连接远程mysql
查看>>
Navicat下载和破解以及使用
查看>>
Navicat中怎样将SQLServer的表复制到MySql中
查看>>
navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
查看>>
Navicat可视化界面导入SQL文件生成数据库表
查看>>
Navicat如何连接MySQL
查看>>
ndk特定版本下载
查看>>
Neat Stuff to Do in List Controls Using Custom Draw
查看>>
NeHe OpenGL教程 第四十四课:3D光晕
查看>>
neo4j图形数据库Java应用
查看>>
Neo4j安装部署及使用
查看>>
Neo4j电影关系图Cypher
查看>>
Neo4j的安装与使用
查看>>
Neo4j(2):环境搭建
查看>>
Neo4j(4):Neo4j - CQL使用
查看>>
Neo私链
查看>>
NervanaGPU 项目使用教程
查看>>
Nerves 项目教程
查看>>
nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Nessus漏洞扫描教程之配置Nessus
查看>>