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?
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();
..
MultiSelect
property of the ListView
to false and just select the new item. –
Bremble Clear
once is clearer than clearing and re-setting MulitSelect, imo. –
Dandy MultiSelect
property to false
when I wrote the code, and the code seems useless now. –
Bremble 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.
© 2022 - 2024 — McMap. All rights reserved.
listView1.Items[0].Selected = true;
– Dandy