在ListView中有ListSelected的可能性,就像在ListBox中一样吗?

时间:2013-01-02 17:33:47

标签: c# winforms

我的应用程序有ListView,在我的foreach循环中,我将文件添加到我的ListView中,并希望选项显示当前文件标记,在使用ListView之前我尝试ListBox并成功使用SetSelected。

我尝试listView.Items[listView.Items.Count - 1].Selected = true;这标记了ListView中的所有文件

2 个答案:

答案 0 :(得分:1)

确保在循环外设置选择。如果你在循环中执行它,你将看到所有项目都被选中,因为listview项目计数随着你向listview添加项目而增加:

for (int i; i<someList.Count; i++)
{
    // Fill the listview here
}
listView.Items[listView.Items.Count - 1].Selected = true; 

答案 1 :(得分:0)

如John Koerner所述,你可能错误地设置了listView.Items[listView.Items.Count - 1].Selected = true;。 如果您有理由始终选择循环中的最后一项,则可以在再次选择之前删除所有选项。

    for (int i = 0; i < 5; i++)
    {
        foreach (int index in listView1.SelectedIndices)
        {
            listView1.Items[index].Selected = false;
        }
        listView1.Items.Add(i.ToString());
        listView1.Items[listView1.Items.Count - 1].Selected = true;
    }

或如果多项选择无效,您可以设置listView1.MultiSelect = false;