c# BackgroundWorker组件的作用
作者:柳絮 时间:2022-12-23 20:56:12
当构建一个图形化的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
标签:c#,BackgroundWorker,组件
0
投稿
猜你喜欢
Android中回调接口的使用介绍
2022-07-24 02:45:07
java中List分页的几种方法介绍
2022-03-01 12:04:28
Android实现异步加载图片
2021-08-14 16:44:20
C# 实现dataGridView选中一行右键出现菜单的示例代码
2022-05-12 05:15:55
Spring main方法中如何调用Dao层和Service层的方法
2023-11-28 23:15:19
在mybatis 中使用if else 进行判断的操作
2021-11-10 23:17:11
C#冒泡法排序算法实例分析
2023-08-13 18:03:42
Java 高并发八:NIO和AIO详解
2023-01-29 15:50:51
Intellij idea热部署插件JRebel的使用
2022-12-02 14:13:27
java开发AOP面向切面编程入门
2021-08-22 04:47:56
ubuntu环境下反编译android apk的方法
2022-08-09 13:41:41
Mybatis-plus配置分页插件返回统一结果集
2022-05-27 19:15:06
Groovy的规则脚本引擎实例解读
2023-07-11 21:24:04
Java基础学习之集合底层原理
2023-09-30 22:16:40
C++数组指针和二维数组详情
2022-03-31 21:11:07
Java实现多个wav文件合成一个的方法示例
2021-10-08 08:14:25
Eclipse下基于Java的OpenCV开发环境配置教程
2022-01-30 21:02:54
Java synchronized同步方法详解
2022-06-27 02:46:37
Java Stream流的常见生成和操作方法总结
2023-08-26 12:06:21
c#网络唤醒功能实现
2022-07-03 03:26:51