删除所选项目后,关注ListView中的下一项

时间:2015-02-19 16:48:30

标签: c# winforms

这可能很简单。当我删除ListView项目时,我希望它选择上面或下面的项目。如果我想删除列表中的5个项目,我只想单击删除按钮5次,而不必继续选择我要删除的项目。在这个ListView中我不能允许多选。

    private void removeSelectionButton_Click(object sender, EventArgs e)
    {
        //Remove Selection
        if (listView.SelectedItems.Count > 0)
        {
            listView.SelectedItems[0].Remove();
        }
    }

1 个答案:

答案 0 :(得分:2)

您需要获取要移除的项目的索引,将其删除,然后将选择设置为移除项目附近的项目。

var itemToRemove = listView.SelectedItems[0];
int selectedIndex = listView.Items.IndexOf(itemToRemove);
itemToRemove.Remove();
if (selectedIndex >= listView.Items.Count) selectedIndex--;
listView.Items[selectedIndex].Selected = true;

您可能需要确保列表视图具有焦点(致电listView.Select())以查看选择内容或将HideSelection设置为false。此外,您还要在尝试将下一个项目设置为已选中之前添加检查是否删除了最后一个项目。