• Register
  • Log in
  • Home
  • Contact

Windows Form ListView clear item selection



ListView.ItemSelectionChanged Event, Occurs when the selection state of an item changes.


Clear selection in selectionIndexChanged event. 

bool
clearSelection = false;
ListViewItem lastSelectedItem = null;
private void listViewDevice_SelectedIndexChanged(object sender, EventArgs e)
{
           try
            {
                if (listViewDevice.SelectedItems.Count > 0 && null != listViewDevice.FocusedItem)
                {
                    selectedItem = listViewDevice.SelectedItems[0];
      //This block of code prevents selection index changed fires twices on the same item.
                    if (clearSelection && lastSelectedItem != null && lastSelectedItem == selectedItem)   
                    {
                        listViewDevice.SelectedItems[0].Focused = false;
                        listViewDevice.SelectedItems[0].Selected = false;
                        clearSelection = false; lastSelectedItem = null;
                        return;
                    }
                    if (SystemColors.GrayText == selectedItem.ForeColor)
                    {
 
                        MessageBox.Show("Selection cleared.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        listViewDevice.SelectedItems[0].Focused = false;     //Clear selection called selectionIndexChanged twice
                        listViewDevice.SelectedItems[0].Selected = false;
 
                        clearSelection = true; lastSelectedItem = selectedItem;
 
                        return;
                    }
}
            catch (Exception ex) { }
}

© 2021 - KodeCenter beta