2013-04-09 3 views
2

Я пытался выяснить, почему мой ImageList не сделает мои изображения, когда моя форма работает, я использую следующий код ...C# ImageList не будет отображать изображения

public void renderImageList() 
    { 
     int selection = cboSelectedLeague.SelectedIndex; 
     League whichLeague = (League)frmMainMenu.allLeagues[selection]; 


     string index = cboSelectedLeague.SelectedItem.ToString(); 

     if (whichLeague.getLeagueName() == index) 
     { 
      foreach (Team t in allTeams) 
      { 
       Image teamIcon = Image.FromFile(@"../logos/" + t.getTeamLogo()); 

       imgLstIcons.Images.Add(teamIcon); 

      } 

     } 

     else 
     { 
      MessageBox.Show("Something went wrong..." + whichLeague.getLeagueName() + " " + index + "."); 
     } 

    } 

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

Я что-то упустил из своего кода, чтобы нарисовать изображение в поле?

Alex.

+1

Разве вы не используете PictureBox для этого? ImageLists не используются для отображения изображений непосредственно в форме, а скорее как мешок ресурсов, который используют другие элементы управления. http://stackoverflow.com/a/8587685/1373170 –

+0

Нарисуйте изображение, в которое поле? Вы добавляете «ImageList» из того, что я вижу. Это не отображает изображения ... – MoonKnight

+0

Ах, хорошо, imageList устанавливается в качестве элемента управления largeImage поверх моего спискаView. Нужно ли рисовать их в listView? – Alex

ответ

2

После добавления всех изображений в ImageList, вы должны добавить все элементы в ListView, а также:

for (int j = 0; j < imgLstIcons.Images.Count; j++) 
{ 
    ListViewItem item = new ListViewItem(); 
    item.ImageIndex = j; 
    lstView.Items.Add(item); 
} 

источник: http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/876b6517-7306-44b0-88df-caebf3b1c10f/

Вы также можете использовать FlowLayoutPanel и динамически создавать PictureBox элементы, по одному для каждого изображения, и вообще не использовать ImageLists и ListViews. Это зависит от типа пользовательского интерфейса, который вы хотите.

+0

FlowLayoutPanel на самом деле звучит интересно, я могу попробовать, спасибо! – Alex

Смежные вопросы