C# PictureBox加载图片并显示进度条

 

以前用winform的PictureBox时没有试过加载网络的图片,刚刚看到一段代码才了解到原来还有LoadAsync这个方法,可以异步加载图片,再加上LoadProgressChanged事件也可以获得当前加载的进度。

在窗体上放一个PictureBox控件,一个按钮,一个进度条控件,再用Label来显示当前进度百分比,具体代码如下:

private  void button1_Click( object sender, EventArgs e)
         
{
              try 
             { 
                 
pictureBox1.WaitOnLoad =  false
                 pictureBox1.LoadAsync( 
" http://hiphotos.baidu.com/18826860/pic/item/c68220d54518d3ef562c841c.jpg ");
             

              catch 
             { 
                 
MessageBox.Show(  " 网络连接失败 ");
             } 
         }


  给PictureBox加上LoadProgressChanged事件,LoadAsync方法将会触发此事件,当前的进度可以从e.ProgressPercentage中取得


          private  void pictureBox1_LoadProgressChanged( object 
sender, System.ComponentModel.ProgressChangedEventArgs 
e)
{
progressBar1.Value = e.ProgressPercentage; 
label1.Text = 
e.ProgressPercentage.ToString() +  " % ";

 

你可能感兴趣的:(进度条)