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

转自http://www.cnblogs.com/zfanlong1314/archive/2012/04/17/2454558.html

 

以前用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() + "%";
}

 

posted @ 2016-12-19 17:05  风中寻觅  阅读(1495)  评论(0编辑  收藏  举报