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() + "%";
}
在窗体上放一个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() + "%";
}
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET