Pet*_*hev 26
请看以下行:
double dProgress = (e.BytesReceived / FileSize)*100)
如果两个e.BytesReceived和FileSize是整数,那么你将永远有0 * 100 = 0.
做这样的事情:
double dProgress = ((double)e.BytesReceived / FileSize)*100.0
这是因为/在划分两个整数时进行整数除法.但你不希望如此.所以你将其中一个变量转换为double.
BytesReceived 和 FileSize 最有可能是整数,因此您需要以这种方式计算进度:
double dProgress = 100.0 * e.BytesReceived / FileSize;
Run Code Online (Sandbox Code Playgroud)