c# BackgroundWorker组件的作用
作者:柳絮 发布时间:2022-12-23 20:56:12
标签:c#,BackgroundWorker,组件
当构建一个图形化的Windows Form桌面应用程序并且需要执行在应用程序主UI线程之外的线程中长时间的任务时,BackgroundWorker类就很有用了。
要使用BackgroundWorker,我们只需要告诉它希望在后台执行那个方法并且调用RunWorkerAsync()即可
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int a = int.Parse(textBox1.Text.Trim());
int b = int.Parse(textBox2.Text.Trim());
Add ad = new Add(a,b);
backgroundWorker1.RunWorkerAsync(ad);
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
Add args=(Add)e.Argument;
for (int i = 0; i < 11; i++)
{
Thread.Sleep(200);
backgroundWorker1.ReportProgress(i*10);
}
e.Result = args.a + args.b;
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
label1.Text = e.Result.ToString();
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
}
public class Add
{
public int a;
public int b;
public Add(int a, int b)
{
this.a = a;
this.b = b;
}
}
来源:https://www.cnblogs.com/wangzhenghua/p/4448752.html
0
投稿
猜你喜欢
- 前言在开发过程中需要快速新建getXXX();setXXX()方法的时候,就会想能否批量实现呢?例如实现如下代码,一次性操作,不是一个一个码
- 请求转发的三种方式SpringMVC请求转发区别于重定向,请求转发地址栏不会发生改变、只发送一次请求、能携带原有的参数,但只可以在同一个服务
- Spring p和c标签注入方式1.编写实体类package com.ming04.pojo;import lombok.AllArgsCo
- 本文实例为大家分享了Android保存QQ密码功能的具体代码,供大家参考,具体内容如下技术要点:使用文件储存的方式保存数据实现步骤:①用户交
- Stripe支付首页需要引用Stripe.net框架,我引用的是22.8.0版本,注意.NETFramework的版本为4.5,同时需要引用
- 本文所述为一个C#使用iCSharpcode压缩的使用类,经测试效果不错。分享给大家供大家参考之用。具体方法如下:1.参数类using Sy
- 一 问题描述小明为位置1,求他到其他各顶点的距离。二 实现package graph.dijkstra;import j
- start方法和run方法$start()$方法用来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到$cpu$时间片,就
- 在程序开发中通常有推送消息的需求,通常为短信服务,邮件,电话提醒。短信及电话提醒通常需要向运营商购买服务调用接口,比较麻烦。邮件信息推送也是
- 初次遇见 native是在 java.lang.Object 源码中的一个hashCode方法:public native int hash
- 本文介绍了Flutter 实现下拉刷新上拉加载的示例代码,分享给大家,具体如下:效果图 使用方法添加依赖depende
- 前言本文尝试从What、Why、How这三个角度来探索Java中的弱引用,帮助大家理解Java中弱引用的定义、基本使用场景和使用方法。一、&
- 问题原因今天在看集合源码的时候,突然看到接口继承接口,觉得有点差异,以前写代码也就是类继承一个类,实现接口。这样写的多了,突然看到接口继承接
- springboot引入外部yml配置文件当需要在springboot中引用其他的yml文件时,需要在application.yml里配置s
- 日常工作中,不管你是写Unit Test,还是采用TDD的编程方式进行开发,都会遇到断言。而断言的风格常见的会有Assert、BDD风格,对
- 前言面向切面(AOP)Aspect Oriented Programming是一种编程范式,与语言无关,是一种程序设计思想,它也是sprin
- 目录前言基础组件工作流程初步使用详细流程获取 MapperProxy 对象缓存执行方法构造参数获取需要执行的 SQL 对象执行 SQL 语句
- java中的LIST在删除时,一般会用list.remove(o); 但这样往往会出现问题,先来看下面的这段代码:package com.d
- 本文实例为大家分享了jdk1.7配置教程,供大家参考,具体内容如下第一步:下载jdk1.7下载地址:链接 密码: wrmf第二步:
- Spring Boot 的启动原理可以概括为以下几个步骤:加载 Spring Boot 应用程序的启动类根据启动类所在的包路径扫描相关的类根