进度条直到100%才会更新
本文关键字:更新 100% | 更新日期: 2023-09-27 17:49:55
我的winform上有一个进度条,它正在从CopyFileEx
调用的回调方法中更新。
问题是进度条直到达到100%才会更新。
进度条百分比是从后台工作器更新的,基于复制的字节数与所有文件的总字节数的比较。
我计算字节数的代码是(我不认为这里有任何问题)
CopyFileCallbackAction myCallback(FileInfo source, FileInfo destination, object state, long totalFileSize, long totalBytesTransferred)
{
double dProgress = (totalBytesTransferred / byteCount) * 100.0;
backupWorker.ReportProgress((int)dProgress);
return CopyFileCallbackAction.Continue;
}
如果我显示一个带有totalBytesTransferred
和byteCount
值的消息框,并自己进行计算,它会很好地工作(截断小数点后的任何数字-因为它被转换为int
),并且我得到百分比。
由于某些原因,当它被传递到我的进度条时,它不工作,直到它是100%,然后它完成了所有的工作。
任何想法?
你正在做整数(实际上是long
)除法,它返回0
。
您需要将一个操作数强制转换为double