c#如何使用progress

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何使用progress相关的知识,希望对你有一定的参考价值。

参考技术A using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

/*程序王国 ProgramKingdom --- BackgroundWorker 后台运行,显示进度*/

namespace BackgoundWorker_Example



public partial class Form1 : Form



public Form1()



InitializeComponent();

// 第一步:初始化

this.backgroundWorker1.WorkerReportsProgress = true; // 显示进度

this.backgroundWorker1.WorkerSupportsCancellation = true; // 支持取消



// 第二步:添加后台执行方法体

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)



// 设立间隔时间 相当于执行的事件

System.Threading.Thread.Sleep(100);

// 第三步:添加ReportProgress() 方法 显示进度

// 调用 ReportProgress 方法触发 ProgressChanged 事件显示进度

backgroundWorker1.ReportProgress(20);

System.Threading.Thread.Sleep(100);

backgroundWorker1.ReportProgress(40);

System.Threading.Thread.Sleep(100);

backgroundWorker1.ReportProgress(60);

System.Threading.Thread.Sleep(1000);

backgroundWorker1.ReportProgress(80);

System.Threading.Thread.Sleep(100);

backgroundWorker1.ReportProgress(100);



private void button1_Click(object sender, EventArgs e)



// 第五步:开始后台执行

this.backgroundWorker1.RunWorkerAsync();



private void button2_Click(object sender, EventArgs e)



// 第六步:停止执行后台代码

this.backgroundWorker1.CancelAsync();



// 第四步:添加进度改变事件

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)



// 显示进度 获得当前进度

this.progressBar1.Value = e.ProgressPercentage;





以上是关于c#如何使用progress的主要内容,如果未能解决你的问题,请参考以下文章

*忽略* C++和C#如何在命令行中显示百分比[重复]

在c#中如何使用process这个类来获取进程的详细信息

从自己的 C# Dll in Progress 4GL 创建 COM-Object

如何查找excel表是否在系统中使用progress 4GL打开?

如何将ffmpeg的-progress选项输出重定向到stderr?

Progressive Web Apps基本说明