zoukankan
html css js c++ java
WPF开发中的多线程的问题
今天帮助同事做了一个WPF版的多线程demo,分享给大家。 要实现的问题就是非主线程thread1 去后台不停的取新数据,当有新数据的时候就会展示到前台。 我给他做的demo实现一个按秒的计数器,随着时间然后每秒数据加1, 这个demo涉及到的点有 多线程,垮线程更改控件的值Dispatcher的使用 1、我们新建项目 WPF项目,demo 2、在设计器上添加一个控件
3、新建业务类 复制代码 public class Model { public String Data; } public delegate void Exe(Model a); public class WillDo { public event Exe Output; public void 后台数据方法() { int i = 1; while (true) { Output(new Model() { Data = i.ToString() }); i++; Thread.Sleep(300); } } } 复制代码 4、在设计器的后台代码上加入下面的代码 复制代码 public partial class MainWindow : Window { WillDo c = new WillDo(); public MainWindow() { InitializeComponent(); c.Output += C_Output; } private void C_Output(Model a) { this.Dispatcher.Invoke(new Action(() => { m1.Content = a.Data.ToString(); })); } private void Window_Loaded(object sender, RoutedEventArgs e) { var th1 = new Thread(() => { c.后台数据方法(); }); th1.IsBackground = true; th1.Start(); } } 复制代码 5、做的效果如下
查看全文
相关阅读:
vulcanjs 包类型
vulcanjs schemas&& collections
vulcanjs 核心架构概念
vulcanjs 开源工具方便快速开发react graphql meteor 应用
ory Oathkeeper Ecosystem
ory Oathkeeper docker-compose 安装运行
benthos stream nats 集成试用
benthos 几个方便的帮助命令
benthos 通过配置文件配置 stream 说明
benthos 通过rest api 配置 stream 说明
原文地址:https://www.cnblogs.com/bruce1992/p/14073564.html
最新文章
meteor学习-- #一 安装meteor快速使用
socat 广播以及多播
socat 简单试用
Monocular 集成harbor helm 仓库
k8s helm 可视化UI 管理工具 monocular部署试用
harbor helm 仓库使用
adnanh webhook 框架使用
使用Reaction cli 创建应用
Reaction 开源可自定义实时的电商平台
timescaledb 集成prometheus
热门文章
graphql 数据导入工具
grandstack graphql 开发模型
几本不错的graphql 电子书
grandstack graphql 工具基本试用
grandstack 基于graphql&&react&& apollo&& neo4j 的全栈开发工具
watchtower 自动更新容器的工具
apache airflow docker 运行简单试用
hasura graphql server event trigger 试用
restheart 基本使用
vulcanjs 简单package 编写
Copyright © 2011-2022 走看看