ProgressBar十进制值

ProgressBar十进制值

我有一个周期。迭代次数取决于用户的选择。我得到双精度数,但是进度条只接受int;

double progr = 100 / (listBox2.Items.Count * listBox4.Items.Count);
progressBar1.Value += progr; <-

最佳答案

如果要使用进度条显示TotalCount_n项目的处理,通常使用以下语句:

progressBar1.Maximum = TotalCount_n;
progressBar1.Value = currentItem;


如果您有两个进程,例如TotalCount_n和TotalCount_m,则可以编写

progressBar1.Maximum = TotalCount_n * TotalCount_m;
progressBar1.Value = currentItem_n * TotalCount_m + currentItem_m;


如果要使用整数计算百分比,可以编写:

int percentage = (currentItem * 100) / TotalCount_n;


如果您有一个显示百分比的进程栏,则使用

//progressBar1.Maximum = 100; // set in the designer
progressBar1.Value = (currentItem * 100) / TotalCount_n;


如果您有一个随机最大值的进程栏,则还可以编写:

progressBar1.Value = (currentItem * progressBar1.Maximum) / TotalCount_n;


但是您需要注意,这个数字不会太高。因此,如果TotalCount_n和最大值都大于65000,则将产生溢出,因为乘积currentItem * progressBar1.Maximum可能超过2 ^ 32。

关于c# - ProgressBar十进制值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23822547/

10-11 10:43