private void listViewControl_ItemCheck(object sender, ItemCheckEventArgs e) { switch (_formState) { case FormStateEnum.Initial: case FormStateEnum.NotProcessing: break; case FormStateEnum.Processing: ListViewItem item = listViewControl.Items[e.Index]; if (_itemFlags.Exists(item)) { e.NewValue = _itemFlags[item] ? CheckState.Checked : CheckState.Unchecked; } else { e.NewValue = e.CurrentValue; } break; default: break; } }