0

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

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

4

2 回答 2

1

确保您在循环之外设置选择。如果您在循环中执行此操作,您将看到所有项目都被选中,因为随着您将项目添加到列表视图,列表视图项目计数正在增加:

for (int i; i<someList.Count; i++)
{
    // Fill the listview here
}
listView.Items[listView.Items.Count - 1].Selected = true; 
于 2013-01-02T17:45:36.763 回答
0

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

    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;

于 2013-01-02T18:13:14.467 回答