进度栏总和值不正确

时间:2019-02-13 08:53:11

标签: vb.net progress-bar

我有一个简单的进度条代码

 Dim delimiter As Decimal = 0.0
    If ListOfUsers.Any() Then
        delimiter = 100.0 / ListOfUsers.Count
    End If
For Each link As String In ListOfUsers
                counter += 1
                Dim pValue As Decimal = ProgressBar1.Value
                pValue = pValue + delimiter
                ProgressBar1.BeginInvoke(Sub() ProgressBar1.Value = pValue)
Next
 End If

由于某种原因,它的求和结果不佳。假设我们有ListOfUsers.Count = 3的分光器将获得正确的值100 / 3 = 33.33。现在,当它求和时,它得到66.33而不是66.66

我尝试使用Double,但结果是相同的。这可能很简单,我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

进度条的值是一个整数,例如,您将其设置为33.33,但是当您从进度条中读回该值时,它返回的是33,因此将33与33.33相加得出的结果是66.33。 >

查看Progress Bar类,Value属性是一个int 公共财产价值为整数

答案 1 :(得分:0)

尝试将“ Dim pValue十进制= ProgressBar1.Value”放置在foreach循环之外。

就在循环之前。