我要做的是在列表视图中选择一个项目,它有效!那就是它工作一次,第一次选择一个项目就好了,第二次得到一个参数超出范围异常的特征[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);
}
}
}
有谁知道问题是什么?
答案 0 :(得分:2)
如果你点击列表视图,我打赌你会得到这个例外。
请记住,此事件适用于选择更改..这可能意味着某些内容已被选中,现在什么都没有。实际上,根据this,对于所选择的每个事物都会触发一次事件。如果是这种情况,请查看该链接以获取有关此问题的更多信息和设计。
否则,只需检查以确保您的“features”变量在索引之前有任何内容