想给listview添加一个进度条,提供点办法

解决方案 »

  1.   

    楼主,我有个好方法,虽然不是很理想,但很好用,在listview里放了label把它的背景色设成与listview 一颜色,把长度设置为0.然后在你启动程序时,再把lable的颜色高为蓝色.size用for循环来慢慢增加.即可..很用的试试
      

  2.   

    方法二:
    原文:
    这个可以参考 用字符模拟进度
          private void threadDownProgress()
          {
             Thread thread=new Thread(new ThreadStart(GetDownProgress));
             thread.Start();
             thread.IsBackground=true;
          }
    private void GetDownProgress()
          {
             for(int i=0;;i++)
             {
                if(this.lvArrayFiles.Items.Count==0)
                   return;
                for(int j=0;j<this.lvArrayFiles.Items.Count;j++)
                {
                   //下载进度
                   if(strCurrentDownStudent==this.lvArrayFiles.Items[j].SubItems[2].Text.Trim())
                   {
    #region 信息
                      if(strDownStudent!="■■■■■■■■")
                      {
                         strDownStudent+="■";
                      }
                      else
                         strDownStudent="■■■■■■■■";
                      this.lvArrayFiles.Items[j].SubItems[1].Text=strDownStudent;
                      if(strDownStudent=="■■■■■■■■")
                      {
                         strDownStudent="";
                         for(int k=0;k<this.lvArrayFiles.Items.Count;k++)
                         {
                            if(this.lvArrayFiles.Items[k].SubItems[2].Text=="信息")
                            {
                               this.lvArrayFiles.Items[k].Remove();
                               this.cbDownStudentInfo.Checked=false;
                               strCurrentDownStudent="";
                               if(this.lvArrayFiles.Items.Count==0)
                                  return;
                            }
                         }
                      }
                      #endregion
                   }      
                }
                System.Threading.Thread.Sleep(200);   
             }
          }