winforms 如何在selectedindexchanged事件中从listview中选择项目?

w1e3prcc  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(172)
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
    img1 = Image.FromFile(listView1.SelectedItems[0].Text);
    pictureBox1.Image = img1;
}

我的列表视图中有10个项目。
如果我像现在SelectedItems[0].Text那样使用它,当我选择任何项目时,第一次它工作正常,但当我选择另一个项目时,它抛出以下错误:
系统参数超出范围异常:'InvalidArgument=“0”的值对于“index”无效。
参数名称:索引'

7rfyedvj

7rfyedvj1#

引发事件时,项的详细信息通过“e”传递到事件中。e的类型为***ListViewItem***,因此可以使用***e.Item.Text***访问选定项的文本。
您可能会看到异常的原因是因为我怀疑当选定的索引更改时,它可能会在选择新项之前取消选择选定项,因此,在这种情况下,索引0处没有项。您可以通过将现有代码 Package 在“IF”检查中来解决此问题,如下所示:

if (listView1.SelectedItems[0] is not null) 
{
    //DO PROCESSING HERE
}

相关问题