protected internal virtual void OnRecurrenceButton() { if (!Controller.ShouldShowRecurrenceButton) { return; } Appointment patternCopy = Controller.PrepareToRecurrenceEdit(); DialogResult result; using (Form form = CreateAppointmentRecurrenceForm(patternCopy, Control.OptionsView.FirstDayOfWeek)) { result = ShowRecurrenceForm(form); } if (result == DialogResult.Abort) { Controller.RemoveRecurrence(); } else if (result == DialogResult.OK) { Controller.ApplyRecurrence(patternCopy); } }