繁体   English   中英

在C#中使用进度条

[英]Using Progress Bar in C#

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

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

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

假设progressBar为进度栏

将其定义为公共静态

这是方法

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

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

设置进度条最大值

progressBar.Maximum(bytesOfData);

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM