开发者

C# How do I loop through Images in a Listbox

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 r开发者_StackOverflowemember it working, but it won't anymore. I'm assuming I remember the code wrong, any alternatives?


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);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜