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

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

 

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

 

目录
相关文章
|
6月前
|
C# C++
C# 自定义时间进度条
本文作者通过参考leslie_xin的一篇文章,成功创建了一个自定义的WinForms控件——时间进度条,该控件带有时间刻度和多种可定制的属性,如颜色、时间间隔等。作者在控件中加入了开始和结束时间,以及自适应的时间刻度间隔。控件能根据设置显示时间标签,并提供了事件处理,如值改变时的触发。代码中包含了计算时间刻度、绘制刻度线和时间标签的逻辑。作者强调了避免循环调用事件、使用OnXXX()形式的事件处理函数以及注意自定义控件中的属性和事件设计。
147 7
基于C#的ArcEngine二次开发31:addin开发时调用ArcMap的进度条
基于C#的ArcEngine二次开发31:addin开发时调用ArcMap的进度条
基于C#的ArcEngine二次开发31:addin开发时调用ArcMap的进度条
|
C# 数据库 UED
C#-WPF ProgressBar进度条
进度条常用在加载,下载,导出一些比较耗时的地方,利用进度条能让用户看到实时进展,能有更好的用户体验……
615 0
C#编程-52:PictureBox控件复习笔记
C#编程-52:PictureBox控件复习笔记
100 0