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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM