private void UpdateCheckedList(CheckedListBox list)
{
object wasSelected = list.SelectedItem;
list.BeginUpdate();
for (int i = 0; i < list.Items.Count; i++)
list.SetItemChecked(i, ((Item)list.Items[i]).IsVisible);
list.SelectedItem = wasSelected;
list.EndUpdate();
}