1

我想要做的是在我的列表视图中选择一个项目,它可以工作!那就是它工作一次,第一次选择一个项目很好,第二次在 features[0].SubItems[1].Text 上获取参数超出范围异常;在零。

这就是我所拥有的:

private void listViewFeatures_SelectedIndexChanged(object sender, EventArgs e) 
{
    ListView.SelectedListViewItemCollection features = listViewFeatures.SelectedItems;
    string feature = features[0].SubItems[1].Text;
    BL_AddReport addReport = new BL_AddReport(this.databaseConnectionString);

    Dictionary<string, bool> pictures = addReport.GetpicturesFromFeature(feature);

    foreach (KeyValuePair<string, bool> pic in pictures) 
    {
        if (pic.Value) {
            pictureBoxCar.Image = Image.FromFile(pic.Key);
        }
        else 
        {
            pictureBoxEquip.Image = Image.FromFile(pic.Key);
        }
    }
}     

有谁知道问题是什么?

4

1 回答 1

2

我敢打赌,如果你也点击了列表视图,你也会得到这个例外。

请记住,此事件用于选择更改。这可能意味着选择了某些内容,而现在什么都没有。事实上,根据一点,每选择一个事物都会触发一次事件。如果您遇到这种情况,请查看该链接以获取有关此问题的更多信息和设计。

否则,只需检查以确保您的“功能”变量内部有任何内容,然后再对其进行索引

于 2012-03-20T13:14:14.747 回答