3

我一直在试图弄清楚为什么我的 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 + ".");
        }

    }

当用户更改组合框的索引时会触发该方法,我知道程序获得了正确的路径,因为我使用消息框来显示每个路径返回的路径,如我预期的那样。

我的代码中是否遗漏了一些东西来将图像绘制到盒子上?

亚历克斯。

4

1 回答 1

3

将所有图像添加到 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 元素,每个 Image 一个,而根本不使用 ImageLists 和 ListViews。这取决于您想要的 UI 类型。

于 2013-04-09T16:58:39.143 回答