void Enum_SelectedIndexChanged(object sender, EventArgs e) { if (binding != null) { Writing = true; if (SelectedIndex >= 0) { if (EnableUndo) { binding.SetValue(enums[SelectedIndex]); } else { binding.SetValueDirectly(enums[SelectedIndex]); } } Writing = false; } }