【发布时间】:2014-01-01 20:44:40
【问题描述】:
我有一个包含一些变量的程序。我正在尝试交互变量,并通过使用它们来增加进度条,使它们显示时间的视觉视角。
代码的再现:
Dim count As Integer = ListBox1.Items.Count
Dim _toProgress As Integer = 100 / count
ProgressBar1.Increment(_toProgress)
我把这一切都放在一个循环中,所以在一个过程(循环中)完成后添加“_toProgress”......
这基本上是我简化的代码。 问题是当我增加进度条时,它在它应该完成之前完成了。
例如: 我有一个循环完成 175 过程: 100 / 175 = 0.5714285714285714 所以,_toProgress 应该等于 '0.5714285714285714'。 完成其中一个进程后,它会将“_toProgress”添加到增量中 (ProgressBar1.Increment(_toProgress))。
我知道 '_toProgress' 整数是正确的,因为 '0.5714285714285714' * 175 = 100。
所以我不知道为什么进度条在它应该完成之前完成,有什么线索吗?
【问题讨论】:
-
这可能是因为 _toProgress 是整数而不是双精度数。整数永远是整数。
-
正如@Andrew 所说,将 _toProgress 的声明更改为加倍。
-
这很有意义。谢谢安德鲁。
-
这里有不止一个缺陷。如果您只进步了一点并且只在列表框中添加了 one 项,那么您将增加 100。简单的方法是 ProgressBar1.Value = 100 * count / 175。Increment() 方法没有什么特别之处,它并没有让它“更好”。
标签: vb.net