physics90
physics90

Reputation: 957

Set selected index in a listview

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?

Upvotes: 7

Views: 18867

Answers (2)

TaW
TaW

Reputation: 54433

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();..

Upvotes: 14

Reza Aghaei
Reza Aghaei

Reputation: 125197

You can select or deselect an item by setting the Selected property, for example: this.listView1.Items[2].Selected = true;

Edit

To select only one item, it's enough to set MultiSelect property of the ListView to false and just select the new item.

Upvotes: 3

Related Questions