簡體   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