在C#中使用进度条

时间:2015-08-22 16:36:09

标签: c# winforms

我正在构建一个从pdf文件读取数据并插入数据库的应用程序。为此,我有方法,我想添加一个进度条,显示已完成的任务百分比与后端方法。如何为此目的添加进度条。我正在使用VS 2013。 例如,我有

method.1();
method.2();
method.3();
method...();
...........

我希望我的进度条显示这些方法的完成进度。

2 个答案:

答案 0 :(得分:0)

假设progressBar为进度条

将其定义为公共静态

这是方法

public static void reportProgress(int incValue) {
    progressBar.Value += incValue;
}

如果您要传输数据,请将progressbars最大值设置为您要传输的数据量,并使用此方法通过添加已传输的字节来增加其值

设置进度条最大值

progressBar.Maximum(bytesOfData);

答案 1 :(得分:0)

首先,您需要初始化进度条

progressBar.Value = 0;
progressBar.Maximum= MethodsCount;

要更新进度条,您需要使用新线程来调用您想要执行的所有方法

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();
            });