为LoadAsync绑定一个带有url字符串的PictureBox

本文关键字:url 字符串 PictureBox 一个 绑定 LoadAsync | 更新日期: 2023-09-27 18:07:18

是否有一种方法将PictureBox绑定到字符串,以便当字符串改变时,它将调用LoadAsync()与字符串中的url并加载图像?

目前这是我在自动生成的代码。

this.itemImagePictureBox.DataBindings.Add(new System.Windows.Forms.Binding("Image", this.MySource, "ItemImage", true));

我要的是:

this.itemImagePictureBox.DataBindings.Add(new System.Windows.Forms.Binding("String", this.MySource, "ImageUrl", true));

MySource有url字符串的属性,我也试图使它有一个Image的字段,但Bitmap例如没有加载异步功能,所以我仍然不能使用url字符串。

为LoadAsync绑定一个带有url字符串的PictureBox

确保WaitOnLoad属性为false(默认),从而启用异步图像加载,然后绑定到ImageLocation属性:

this.itemImagePictureBox.WaitOnLoad = false;
this.itemImagePictureBox.DataBindings.Add(new System.Windows.Forms.Binding(
    "ImageLocation", this.MySource, "ImageUrl", true));

必须是数据绑定吗?为什么不:

MyImage = new Bitmap(fileToDisplay);
itemImagePictureBox.Image = (Image) MyImage ;
await itemImagePictureBox.LoadAsync();
itemImagePictureBox.Refresh();

或者,如果图像是URL:

从url加载图像到PictureBox