public Bitmap SaveImage(string url)
{
WebClient client = new WebClient();
client.OpenReadCompleted += client_OpenReadCompleted;
Stream stream = client.OpenRead(url);
Bitmap bitmap; bitmap = new Bitmap(stream);
stream.Flush();
stream.Close();
// client.Dispose();
return bitmap;
}
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
MessageBox.Show(e.Result.ToString());
}
当它下载图像时,消息框不显示
为什么 OpenReadCompleted 事件不起作用?
在 MSDN 的"备注"下的文档,这仅适用于异步操作。
而不是使用OpenRead(url)
,您需要使用OpenReadAsycn(url)
。
OpenReadAsync
返回 void,因此您需要对 client_OpenReadCompleted
函数内的位图执行操作。
如果我能更好地解释,请告诉我。