using System; using System.ComponentModel; using System.Windows.Forms;
namespace AsyncComponent { public partial class Form1 : Form { public Form1() { InitializeComponent(); pictureBox1.LoadCompleted += new AsyncCompletedEventHandler(pictureBox1_LoadCompleted); }
//调用 LoadAsync 方法时,您的应用程序将继续运行,而下载操作将在另一个线程上 //(“在后台”)继续。图像加载操作完成时,将会调用您的事件处理程序,您的事件 //处理程序可以检查 AsyncCompletedEventArgs 参数以确定下载是否已成功完成。
private void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show(e.Error.Message, "Load Error"); } else if (e.Cancelled) { MessageBox.Show("Load canceled", "Canceled"); } else { MessageBox.Show("Load completed", "Completed"); } }
private void Form1_Load(object sender, EventArgs e) { }
private void loadButton_Click(object sender, EventArgs e) { //希望应用程序在加载图像时保持运行,可以调用 LoadAsync 方法 pictureBox1.LoadAsync("D:""桌面.jpg"); }
private void cancleLoadButton_Click(object sender, EventArgs e) { pictureBox1.CancelAsync(); } } } |
转载于:https://www.cnblogs.com/blue-th/archive/2008/09/25/1298615.html