Set selected index in a listview

physics90 picture physics90 · Dec 11, 2015 · Viewed 13k times · Source

I have a listview on a Win Forms where I need to programmatically set the selected index. Apparently, ListView does not have a SelectedIndex property that can be set. Is there another way to do this?

Answer

TaW picture TaW · Dec 11, 2015

Apparently, ListView does not have a SelectedIndex property that can be set.

Indeed and it is logical as you can have multiple Items selected.

Hence it does have the SelectedItems and also the SelectedIndices property; both are read-only.

To select an Item simply set its Selected property to true:

listView1.Items[someItemIndex].Selected = true; 

If the ListView' s MultiSelect property is false, this will deselect all other Items. If it is true the Item is added to the set of selected Items..

To de-select all Items in one go, use listView1.SelectedIndices.Clear(); or listView1.SelectedItems.Clear();..