问题描述
小弟是使用下面这个函数从服务器上面下载文件的,现在想用C#下面的progressBar控件显示下载进度,请各位大侠指点一下,应该怎么使用这个控件的max、min和step应该怎样设置还有语句应该放在什么地方跪谢了!!!publicstaticbooldownloadFile(stringstrFileName,stringfile){boolflag=false;//打开上次下载的文件longSPosition=0;//实例化流对象FileStreamFStream;//判断要下载的文件夹是否存在if(File.Exists(strFileName)){//打开要下载的文件FStream=File.OpenWrite(strFileName);//获取已经下载的长度SPosition=FStream.Length;//FStream.Seek(SPosition,SeekOrigin.Current);}else{//文件不保存创建一个文件FStream=newFileStream(strFileName,FileMode.Create);SPosition=0;}try{//打开网络连接HttpWebRequestmyRequest=(HttpWebRequest)HttpWebRequest.Create(file);//向服务器请求,获得服务器的回应数据流StreammyStream=myRequest.GetResponse().GetResponseStream();//定义一个字节数据byte[]btContent=newbyte[512];intintSize=0;intSize=myStream.Read(btContent,0,512);while(intSize>0){FStream.Write(btContent,0,intSize);intSize=myStream.Read(btContent,0,512);}//关闭流FStream.Close();myStream.Close();flag=true;//返回true下载成功}catch(Exception){FStream.Close();flag=false;//返回false下载失败}returnflag;}
解决方案
解决方案二:
multithreadcanfixthis?
解决方案三:
while(intSize>0){FStream.Write(btContent,0,intSize);intSize=myStream.Read(btContent,0,512);---------这里-------}放在while里面
解决方案四:
progressBar1.Maximum=????;//要下载文件的长度progressBar1.Value=0;progressBar1.Step=????最主要就是这几个值不知道怎么设定另外这些好像也不能直接放进while(intSize>0){FStream.Write(btContent,0,intSize);intSize=myStream.Read(btContent,0,512);---------这里-------}这里面我比较小白。。。。。。