void ImageDownload_DownloadDataCompleted (object sender, DownloadDataCompletedEventArgs e)
{
if (e.Error != null && !e.Cancelled)
Image = error_image;
else if (e.Error == null && !e.Cancelled)
using (MemoryStream ms = new MemoryStream (e.Result))
Image = Image.FromStream (ms);
ImageDownload.DownloadProgressChanged -= new DownloadProgressChangedEventHandler (ImageDownload_DownloadProgressChanged);
ImageDownload.DownloadDataCompleted -= new DownloadDataCompletedEventHandler (ImageDownload_DownloadDataCompleted);
image_download = null;
OnLoadCompleted (e);
}