C# 如何根据特定记录数从1到100运行进度条

C# 如何根据特定记录数从1到100运行进度条,c#,C#,我有一张c#的名单,里面有一些记录。我在网格中填充此列表,填充时在屏幕上显示进度条。现在的问题是,当记录数以百万计时,在网格中填充需要花费太多的时间,同时进度条达到其最大级别,即100%,并卡在那个里。 我希望以这样的方式运行进度条,即对于任意数量的记录,进度必须相同。请帮忙 我尝试了以下解决方案 this.progressBar.Step=3; 但它不起作用将记录数除以100。每当你处理了这么多记录,你的进度就会增加一个 示例:您有1000条记录。1000/100 = 10. 记录10次后,进

我有一张c#的名单,里面有一些记录。我在网格中填充此列表,填充时在屏幕上显示进度条。现在的问题是,当记录数以百万计时,在网格中填充需要花费太多的时间,同时进度条达到其最大级别,即100%,并卡在那个里。 我希望以这样的方式运行进度条,即对于任意数量的记录,进度必须相同。请帮忙

我尝试了以下解决方案 this.progressBar.Step=3;
但它不起作用

将记录数除以100。每当你处理了这么多记录,你的进度就会增加一个

示例:您有1000条记录。1000/100 = 10. 记录10次后,进度条的Value属性增加1

如果有大量记录,请使用double作为中间数据类型

调整舍入误差和舍入一个误差


决定是在处理开始时增加“进度”,还是在处理结束后增加“进度”。

将100除以记录数。这是您进入progressBar的步骤,
如果记录数是1000,那么它将是100/1000=step

如果您添加progressbar的某些codestep属性为整数格式,则效果更好。如果我们给它赋值,它会被赋值为0。这就是为什么我写:double作为中间类型,double作为中间类型。“调整舍入误差”