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() + "%";

 

posted @ 2012-04-17 22:43  跟着阿笨一起玩.NET  阅读(4476)  评论(0编辑  收藏  举报