在Proeach中Label.Text中具有百分比的ProgressBar

时间:2019-02-27 04:26:04

标签: c# datagridview datatable progress-bar

我有这段代码,并且有一个ProgressBar,我想将我的progressBar的百分比写在标签中。如何在foreach循环中执行此操作?这是我的代码:

       prg.Style = ProgressBarStyle.Continuous;
       con.Open();
       //insignificant sql and listbox operations...
       prg.Value = 0;
       prg.Maximum = myDataTable.Rows.Count;
       foreach (DataRow myRows5 in myDataTable.Rows)
       {
           dgv.Rows.Add(...);
           prg.Value++;
           Application.DoEvents();
           lbl.Text = "Loading... %" + Convert.ToString("I will put here of percentage...");
       }

注意:男性百分比为整数百分比=((prg.Value / prg.Maximum)* 100)

谢谢...

1 个答案:

答案 0 :(得分:1)

您可以这样显示百分比:

lbl.Text = string.Format("Loading... {0:p0}", (prg.Value / (double)prg.Maximum));

p0格式器会将0到1之间的值转换为小数位数为0的百分比。

如果您实际上需要百分比来进行其他计算,则可以按照您的描述进行计算:

int percent = (int)(prg.Value / (double)prg.Maximum);

请注意将其中一个值转换为double,以确保不使用整数除法。