2009-01-04 51 views
1

我正在下載一組文件,並且想要在進度條中顯示進度。通過將進度條的最大值設置爲所有文件的總大小,並將當前位置設置爲迄今爲止下載的大小,可以很容易地顯示整體進度。如何在進度條上顯示刻度線?

我想要做的是將進度條分成幾部分,每部分代表集合中的不同文件。

這可能嗎?我會怎麼做?

+0

這個問題可能應該重寫。 – 2009-01-04 08:32:51

+0

我根據迄今爲止的答案和評論重寫了它。 – 2009-01-04 08:34:37

回答

0

如果您知道要下載的文件的總大小,並且您知道迄今爲止下載的文件的總大小,那麼您可以將.Maximum設置爲文件的總大小,並將.Position設置爲總計下載到目前爲止。無需擔心文件之間的大小如何分割。

或者你的意思是你想根據每個文件的大小在進度條上打勾?

3

我認爲最簡單的方法是做一個UserControl,放一個ProgressBar,覆蓋UserControl的OnPaint()並繪製線條。

我認爲用戶控件比在圖形上繪製右圖更容易處理。座標將更容易處理,再加上在另一個應用程序中重用它會更容易。

0

將最大值設置爲100.然後對於下載的每個文件執行100 *(file_size/total_download_size)並將它們添加在一起。一旦你將它們的價值加在一起,設置進度條的值。每次文件完成下載時更新該值。

0

您可以爲每個文件使用兩個進度條,總數爲1。或者如果你想要勾選標記:簡單的解決方案是在該欄下方或上方添加一些行。