2011-09-13 337 views
1

我在Windows应用程序中包含一个下载选项。我想根据我的计算百分比更新进度栏结果。我计算的百分比在一类和用于yield return返回百分比:C#如何根据我的百分比显示进度条

int percertage = ((int)(((decimal)Offset/(decimal)FileSize) * 100)); 
yield return "Percentage: " + percertage.ToString() + "%"; 

我怎么把它分配给我的进度条根据百分比更新的价值?

回答

1

progress bar我们有一个叫PerformStep()的函数,利用它我们可以使进度条的进度稍微增加。

pBar1.PerformStep(); 
+0

雅选中了这个功能,但我下载5MB的文件,但在下载完成之前完成进度条.....我还使用了progressBar3.Step = 1; progressBar3.Minimum = 0; progressBar3.Maximum = 450;也是因为最大值不是固定的每个文件的权利....如果我下载10MB文件thi最大值不适合所以有任何建议这个概率 – Chandru

+0

然后,将您计算的百分比的值分配给deepi提供的'progressbar.value'。 –

+0

感谢Kalyan ...它的工作.... – Chandru

1

试试这个:

int percertage= ((int)(((decimal)Offset/(decimal)FileSize) * 100)); 
pgbrValue.Value = percertage;//it's in C# 
yield return "Percentage : " + percertage.ToString() + "%"; 
+0

谢谢deepi ...其工作好 – Chandru

+0

我有另一个概率其实我回来了这三个来自一个类的收益率返回“Percentage:”+ percertage.ToString()+“%”; yield return percertage.ToString(); yield return SummaryText;现在的东西是在我的邮件类中,我需要从该类中获取所有返回值,所以我使用了这个代码foreach(objDownload.C​​lientDownload()中的字符串str){if(str.ToLower()。Contains(“percentage”)) ){lblPercentage.BeginInvoke((MethodInvoker)delegate {lblPercentage.Text = str;}); progressBar3.BeginInvoke((MethodInvoker)delegate {progressBar3.Value = int.Parse(str);}); – Chandru

+0

我越来越错误,因为在progressBar3.Value = int.Parse(str);这个str包含三个值,我从另一个类返回,所以输入的字符串不是正确的格式dono如何解决这个..plz告诉我要做什么 – Chandru