c# - ProgressBar 十进制值

标签 c# .net winforms

我有一个循环。迭代次数取决于用户的选择。我得到的是double的数字,但是进度条只接受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计算一个百分比,你可以这样写:

int percentage = (currentItem * 100) / TotalCount_n;

如果你有一个显示百分比的进程条,那么你使用

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

如果你有一个随机最大值的processbar,你也可以这样写:

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

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

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

相关文章:

.net - 用于发现.NET代码依赖关系的工具(不是VS2010)

c# - 使用 Windows 窗体控制操作系统鼠标事件 - C#

c# - 如何通过 oledb reader 或 excel library、excel datareader 或 NPOI 等(Interop 除外)在 Excel 中检查单元格是否包含公式?

c# - 基于词频的最大编辑距离和建议

c# - 创建分组中继器布局

c# - 只读字段与只读属性

c# - 将自由文本重新格式化为固定格式文本 (C#)

c# - 为什么我无法调整表格以适应显示器的尺寸? (Windows 窗体)

c# - 在 C# 中获取字符串中的参数

c# - 在 C# 的列表字典中搜索键匹配值