Vb.net 过程中剩余的时间

Vb.net 过程中剩余的时间,vb.net,Vb.net,我看过其他关于这个的帖子,但我肯定遗漏了什么。剩下的时间不对,我有点困在这上面了。短暂性脑缺血发作 mTimeSpan = Now - mStartTime If (mThisRec > 10) Then txt_StatusBox.Text = txt_StatusBox.Text & "Time remaining about " Dim mRate As Double = (CDec(mThisRec) / CDec(mTimeSpan.T

我看过其他关于这个的帖子,但我肯定遗漏了什么。剩下的时间不对,我有点困在这上面了。短暂性脑缺血发作

mTimeSpan = Now - mStartTime
If (mThisRec > 10) Then
    txt_StatusBox.Text = txt_StatusBox.Text & "Time remaining about "
    Dim mRate As Double = (CDec(mThisRec) / CDec(mTimeSpan.TotalSeconds)) * (CDec(mMaxRecs) - CDec(mThisRec)) / 1000

mTimeSpan = Now.AddSeconds(mRate) - Now
If mTimeSpan.Hours > 0 Then
    If mTimeSpan.Hours > 0 Then
        txt_StatusBox.Text = txt_StatusBox.Text & mTimeSpan.Hours.ToString & " hours, "
    End If
    If mTimeSpan.Minutes > 0 Then
        txt_StatusBox.Text = txt_StatusBox.Text & mTimeSpan.Minutes.ToString & " minutes."
    Else
        txt_StatusBox.Text = txt_StatusBox.Text & mTimeSpan.Seconds.ToString & " seconds."
    End If
End If

有什么不对的?我怀疑第一个
如果mTimeSpan.Hours>0,那么
应该是
如果mTimeSpan>TimeSpan.Zero,那么
。第一个If块的结束If在哪里?如何解释它为什么不正确?以及它与预期的不同之处。很抱歉,如果没有结束的话。接下来有大量的代码不会导致问题。我将尝试时间跨度。零建议。它所做的是显示54000个输入文件上剩余的5分钟,该文件中只有100条记录,处理时间为10秒。完成该文件需要五分钟以上的时间。今天,我们在一台装有SQL server后端的笔记本电脑上对代码进行了另一次测试,测试开始时,完成时间为42分钟。它运行了不到18分钟。为什么在确定运行时时会出错?有什么不对的地方?我怀疑第一个
如果mTimeSpan.Hours>0,那么
应该是
如果mTimeSpan>TimeSpan.Zero,那么
。第一个If块的结束If在哪里?如何解释它为什么不正确?以及它与预期的不同之处。很抱歉,如果没有结束的话。接下来有大量的代码不会导致问题。我将尝试时间跨度。零建议。它所做的是显示54000个输入文件上剩余的5分钟,该文件中只有100条记录,处理时间为10秒。完成该文件需要五分钟以上的时间。今天,我们在一台装有SQL server后端的笔记本电脑上对代码进行了另一次测试,测试开始时,完成时间为42分钟。它运行了不到18分钟。为什么在确定运行时时会出现错误?