小弟是使用下面这个函数从服务器上面下载文件的 ,现在想用C# 下面的progressBar控件显示下载进度,请各位大侠指点一下,应该怎么使用
这个控件的max、min和step应该怎样设置
还有语句应该放在什么地方 
跪谢了!!!
public static bool downloadFile(string strFileName, string file)
        {
            bool flag = false;
            //打开上次下载的文件
            long SPosition = 0;
            //实例化流对象
            FileStream FStream;
            //判断要下载的文件夹是否存在
            if (File.Exists(strFileName))
            {
                //打开要下载的文件
                FStream = File.OpenWrite(strFileName);
                //获取已经下载的长度
                SPosition = FStream.Length;
                //FStream.Seek(SPosition, SeekOrigin.Current);
            }
            else
            {
                //文件不保存创建一个文件
                FStream = new FileStream(strFileName, FileMode.Create);
                SPosition = 0;
            }
            try
            {
                //打开网络连接
                HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(file);
                //向服务器请求,获得服务器的回应数据流
                Stream myStream = myRequest.GetResponse().GetResponseStream();
                //定义一个字节数据
                byte[] btContent = new byte[512];
                int intSize = 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下载失败
            }
            return flag;
        }

解决方案 »

  1.   

    multithread can fix this?
      

  2.   

     while (intSize > 0)
      {
      FStream.Write(btContent, 0, intSize);
      intSize = myStream.Read(btContent, 0, 512);
    ---------这里-------
      }
    放在while里面
      

  3.   

    progressBar1.Maximum = ????;//要下载文件的长度
    progressBar1.Value = 0;
    progressBar1.Step = ????
    最主要就是这几个值不知道怎么设定
    另外这些好像也不能直接放进while (intSize > 0)
      {
      FStream.Write(btContent, 0, intSize);
      intSize = myStream.Read(btContent, 0, 512);
    ---------这里-------
      }
    这里面 
    我比较小白