private bool CloseProject() { if (Editors.Any(p => p.IsDirty)) { var result = TaskDialogEx.Show(this, "Do you want to save your changes?", Text, TaskDialogCommonButtons.Yes | TaskDialogCommonButtons.No | TaskDialogCommonButtons.Cancel, TaskDialogIcon.Warning); switch (result) { case DialogResult.Yes: if (Editors.Any(p => !p.Save())) { return(false); } break; case DialogResult.Cancel: return(false); } } foreach (var editor in Editors.ToList()) { editor.Close(true); } Project = null; return(true); }