void checkBox1_N_CheckStateChanged(object sender, EventArgs e) {
checkedListBox1.ItemCheck -= this.CheckedListBox1_ItemCheck;
// Handler body where affecting CheckedListBox1.
checkedListBox1.ItemCheck += this.CheckedListBox1_ItemCheck;
}
Лучше всего отключить обработчики событий друг друга при обновлении другого.
void CheckedListBox1_ItemCheck(object sender, EventArgs e) {
//Find which 'i' is affected.
arrOfCBox[i].cb.CheckStateChanged -= arrOfCBox[i].eh;
// Handler body where affecting checkBox[i].
arrOfCBox[i].cb.CheckStateChanged += arrOfCBox[i].eh;
}
где BoxHandler, как минимум:
class BoxHandler
{
public EventHandler eh;
public CheckBox cb;
}
По аналогии с WinForms: временно отключить обработчик событий , но, что удивительно, ответ не получил (слишком слишком абстрактно?).