簡體   English   中英

進度條C#

[英]Progress Bar C#

我有一個進度條來顯示將歌曲加載到庫中的程序的狀態。

    foreach (Song s in InitializeLibrary())
    {
        Library.AddSong(s);
        pBar.Value++;
        pBar.Update();
    }

InitializeLibrary()只是一個返回List的函數

問題是進度條在某個點(例如20%)之后停止“移動”,而值仍然增加。 有沒有辦法讓它100%更新?

我這樣做的方法是使用BackgroundWorker組件

使用它在后台線程上加載歌曲並將進度報告給將更新進度條的UI線程。

后台工作程序處理線程之間的所有消息傳遞以報告進度。

這樣您就可以獲得多線程的好處,而無需自己管理線程。

一個好的教程將介紹如何使用進度報告是在這里

您需要設置進度條的“ 最大”屬性,以便在增加“ 值”時計算百分比:

var items = InitializeLibrary();
pBar.Maximum = items.Length;
foreach (Song s in items)
{
    Library.AddSong(s);
    pBar.Value++;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM