C# 如何循环浏览列表框中的图像

发布于 2024-10-31 12:27:38 字数 375 浏览 1 评论 0原文

我创建了一个图像列表框,我想调整所有图像的大小。我已经找到了该方法,但我似乎无法循环遍历列表框中的项目:

foreach (Image I in listbox1.items)
{
     Resize(I, x, y)
}

我收到此错误“无法将 system.string 类型的对象转换为 system.drawing.image 类型”。有什么想法吗?

早些时候,我还在列表框选定的项目上使用了图像投射:

Picturebox1.Image = (Image)listbox.selecteditem;

我记得它可以工作,但它不会再工作了。我假设我记错了代码,还有其他选择吗?

I've created a listbox of Images and I want to resize all of them. I've got the method down but I cant seem to loop through the items in the listbox:

foreach (Image I in listbox1.items)
{
     Resize(I, x, y)
}

I get this error "unable to cast object of type system.string to type system.drawing.image". Any Ideas?

Earlier I was also using an Image cast on a listbox selected item:

Picturebox1.Image = (Image)listbox.selecteditem;

I remember it working, but it won't anymore. I'm assuming I remember the code wrong, any alternatives?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白首有我共你 2024-11-07 12:27:38

你的ListBox.Items.Add'ing错了。添加 Image 对象,而不是图像的字符串路径或 url 或 Image.ToString()。

我现在明白了..您没有执行 ListBox.Items.Add(Image) 因为否则您会在列表框中看到“垃圾”,所以答案是创建一个包装对象:

class ImageWrapper
{
  public Image image;
  public string displayName;
  public override string ToString()
  {
    return displayName;
  }
}

然后执行

var iw = new ImageWrapper();
iw.image = <yourImage>;
iw.displayName = "Text for listbox here";
ListBox.Items.Add(iw);

You're ListBox.Items.Add'ing wrong. Add the Image object, not a string path to the image or url or Image.ToString().

I get it now.. you're not doing ListBox.Items.Add(Image) because otherwise you see 'garbage' in the listbox, so the answer is to create a wrapper object:

class ImageWrapper
{
  public Image image;
  public string displayName;
  public override string ToString()
  {
    return displayName;
  }
}

then do

var iw = new ImageWrapper();
iw.image = <yourImage>;
iw.displayName = "Text for listbox here";
ListBox.Items.Add(iw);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文