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