The ListView control has an ItemCheck event which is fired before the item changes, and an ItemChecked event that is fired aft
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) {
int count = this.checkedListBox1.CheckedItems.Count;
if (e.CurrentValue != CheckState.Checked && e.NewValue == CheckState.Checked) {
count += 1;
} else if (e.CurrentValue == CheckState.Checked && e.NewValue != CheckState.Checked) {
count -= 1;
}
this.okButton.Enabled = count > 0;
}