在c#中使用进度条
本文关键字: | 更新日期: 2023-09-27 18:09:31
我正在构建一个从pdf文件读取数据并插入数据库的应用程序。为此,我有方法,我想添加一个进度条,显示完成的任务百分比与后端方法。我如何添加进度条用于此目的。我正在使用VS 2013。例如
method.1();
method.2();
method.3();
method...();
...........
我希望我的进度条显示这些方法完成的进度
假设progressBar
为进度条
定义为public static
方法
public static void reportProgress(int incValue) {
progressBar.Value += incValue;
}
,如果你正在传输数据,设置progressbars的最大值到你要传输的数据量,并使用此方法通过添加你已传输的字节来增加它的值
设置进度条最大值
progressBar.Maximum(bytesOfData);
首先你需要初始化进度条
progressBar.Value = 0;
progressBar.Maximum= MethodsCount;
为了更新你的进度条,你需要使用new thread来调用你想要执行的所有方法,就像这样
Task.Factory.StartNew(()=>
{
//Call your methods
//Method1();
//then you need to call dispatcher to update the progress bar value because you are using a different Thread
Application.Current.Dispatcher.Invoke(()=>{ progressBar.Value += 1;});
//Method2();
});