我的 winform 上有一个进度条,该进度条正在从调用 from 的回调方法更新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
如果我显示一个带有and值的消息框byteCount
,并自己进行计算,它工作正常(截断小数点后的任何数字 - 因为它被转换为 an int
)并且我得到百分比。
出于某种原因,尽管当它传递到我的进度条时它不起作用,直到它达到 100%,然后它会合而为一。
有任何想法吗?