C # Как мне перебрать изображения в списке - PullRequest
1 голос
/ 10 апреля 2011

Я создал список изображений и хочу изменить их размер. У меня отключен метод, но я не могу просмотреть все элементы списка:

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

Я получаю эту ошибку "невозможно привести объект типа system.string к типу system.drawing.image". Есть идеи?

Ранее я также использовал наложение изображений на выбранный элемент списка:

Picturebox1.Image = (Image)listbox.selecteditem;

Я помню, как это работало, но больше не будет. Я предполагаю, что помню код неправильно, какие-нибудь альтернативы?

1 Ответ

0 голосов
/ 10 апреля 2011

Вы 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);
...