How can I unselect item in ListView?

this is easier.

this.myListView.SelectedIndex = -1;
this.myListView.Update();

I know this is late but in case someone else needed the solution I would like to add to the solution.

You need to set the Focused property to false to avoid deselected items having focus.

for (int i = 0; i < this.myListView.SelectedIndices.Count; i++)
{
    this.myListView.Items[this.myListView.SelectedIndices[i]].Selected = false;
    this.myListView.Items[this.myListView.SelectedIndices[i]].Focused = false;
}

Suppose you are accessing the ListView from a parent form/control.

You can add this piece of code in the form's/control's constructor/load event:

this.myListView.LostFocus += (s, e) => this.myListView.SelectedIndices.Clear();

Ok, so in your case, you would replace that delegate with:

if (this.myListView.SelectedIndices.Count > 0)
    for (int i = 0; i < this.myListView.SelectedIndices.Count; i++)
    {
        this.myListView.Items[this.myListView.SelectedIndices[i]].Selected = false;
    }

You can give the code a nicer form, btw.


myListView.SelectedItems.Clear();