private void SettingsHost_FormClosing(object sender, FormClosingEventArgs e) { if (!_closedInCode) { if (elementHost1.Child is SettingsControl sc && sc.Dirty) { StringBuilder sb = new StringBuilder(); sb.AppendLine("Do you wish to save your changes?"); sb.AppendLine(" Click 'Yes' to save your changes and exit."); sb.AppendLine(" Click 'No' to discard your changes and exit."); sb.AppendLine(" Click 'Cancel' to return to the form."); DialogResult dr = UserInteractions.AskUserYesNoCancel(sb.ToString()); switch (dr) { case DialogResult.Cancel: e.Cancel = true; break; case DialogResult.Yes: SystemOptions = sc.SystemOptions; SystemOptions.Save(); DialogResult = DialogResult.OK; break; case DialogResult.No: DialogResult = DialogResult.Cancel; break; } } } }
private void OnWpfButtonClick(object sender, EventArgs e) { WpfEventArgs args = (WpfEventArgs)e; switch (args.Button.ToLower()) { case "ok": DialogResult = DialogResult.OK; if (elementHost1.Child is SettingsControl sc) { SystemOptions = sc.SystemOptions; SystemOptions.Save(); sc.Dirty = false; Hide(); } break; case "cancel": DialogResult = DialogResult.Cancel; _closedInCode = true; Hide(); break; } }