/// <summary> /// Обработчик события нажатия клавиши мыши на кнопку, /// который производит отмену последнего добавления/редактирования /// </summary> private void btn_Cancel_Click(object sender, EventArgs e) { if (_formMode != FormMode.None) { var result = MessageBox.Show("Изменения не будут сохранены! Продолжить?", "Отмена изменений", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk); if (result == DialogResult.Yes) { try { if (_formMode == FormMode.Edit) { int indexOfElement = ServiceTypes.IndexOf(CurrentServiceType); CurrentServiceType = _ctx.CancelChanges(CurrentServiceType); ServiceTypes[indexOfElement] = CurrentServiceType; } else { ServiceTypes.CancelNew(ServiceTypes.IndexOf(CurrentServiceType)); } EnDisFields(false); _formMode = FormMode.None; } catch { MessageBox.Show("Произошла ошибка при отмене изменений!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }