我希望能在Windows窗体应用程序中从Web加载图像,一切都很好,代码也可以正常工作,但问题是应用程序会停止工作,直到加载完成。我希望能够在不等待加载的情况下查看和使用应用程序。
PictureBox img = new System.Windows.Forms.PictureBox();
var request = WebRequest.Create(ThumbnailUrl);
using (var response = request.GetResponse())
using (var stream = response.GetResponseStream())
{
img.Image = Bitmap.FromStream(stream);
}
BackgroundWorker
和async
了。 - Jonathon ReinhartPictireBox
控件支持异步加载图像,您无需使用后台工作器或async/await。它还可以从URL加载图像,因此您无需使用Web请求。您只需使用PictureBox
的LoadAsync
方法或ImageLocation
属性即可。WaitOnLoad
属性的值应为false,这是默认值。请参见下面的答案。 - Reza Aghaei