public void OnWindowClosing(object sender, CancelEventArgs e) { try { var hasChangesMitarbeiter = MitarbeiterVm.HasChanges(); var hasChangesPlanung = PlanungVm.HasChanges(); if (hasChangesMitarbeiter || hasChangesPlanung) { var result = _msg.ShowYesNoCancel($"Es liegen noch ungespeicherte Änderungen vor.{Environment.NewLine}Wollen Sie das Programm trotzdem beenden?", CustomDialogIcons.Warning); if (result != CustomDialogResults.Yes) { e.Cancel = true; } } } catch (Exception ex) { _msg.ShowError(ex.GetAllErrorMessages()); e.Cancel = false; } }