/// <summary> /// Write edited Host mapping information to system Hosts file based on mode. If mode is List, preview prompt will show. If mode is text, /// a write confirmation will show. /// </summary> /// <param name="preview">Checks for DialogResult.No, Ignore, and Cancel. In Text mode, use DialogResult.No to avoid write confirmation.</param> private void writeToHost(DialogResult preview = DialogResult.No) { Properties.Settings _settings = Properties.Settings.Default; string hostStr = getStringForSave(); if (_mode == EditMode.List && _settings.PromptPreview) { MessageBoxForm mb = new MessageBoxForm(); mb.RememberChoiceEvent += (sender, e) => { if (e.IsChoiceRemembered && (e.FormResult == DialogResult.Yes || e.FormResult == DialogResult.No)) { _settings.PromptPreview = (e.FormResult == DialogResult.Yes ? false : true); } }; preview = mb.ShowDialog("Preview changes before setting Host file?", "Preview?", MessageBoxButtons.YesNoCancel, true); //preview = MessageBox.Show("Preview changes before setting Host file?", "Preview?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); } if (preview == DialogResult.Yes) { togglePanels(EditMode.Text); } else if (preview == DialogResult.No || preview == DialogResult.Ignore) { try { MessageBoxForm mb = new MessageBoxForm(); mb.RememberChoiceEvent += (sender, e) => { if (e.IsChoiceRemembered) { _settings.ConfirmSave = (e.FormResult == DialogResult.OK ? false : true); } }; if ((preview == DialogResult.No || !_settings.ConfirmSave) || mb.ShowDialog("Write mappings to Host file?", "", MessageBoxButtons.OKCancel, true) == DialogResult.OK) { File.WriteAllText(_hostPath, hostStr); MessageBox.Show("Mappings set in Host file.", "Success", MessageBoxButtons.OK); } } catch (Exception ex) { MessageBox.Show("Unable to set mappings in Host file.\n" + ex.Message, "Error saving", MessageBoxButtons.OK); } } else { // this handles the cancel click - do nothing. } }
// get settings from form and save to global settings private void saveSettings() { MessageBoxForm mb = new MessageBoxForm(); try { _settings.PromptPreview = chkPromptPreview.Checked; _settings.ConfirmSave = chkPromptTextSave.Checked; _settings.DefaultMode = (EditMode)Enum.Parse(typeof(EditMode), ddlEditMode.SelectedItem.ToString()); _settings.ExportLocation = txtSaveLocation.Text; _settings.Save(); mb.ShowDialog("Settings saved.", "", MessageBoxButtons.OK); this.Dispose(); // save is called on exit so close the form when complete } catch { // we can't do anything if it fails for some reason, but at least let the user know mb.Show("Could not save settings. Please try again.", "Settings Error", MessageBoxButtons.OK); } }
private void button1_Click(object sender, EventArgs e) { MessageBoxForm mb = new MessageBoxForm(); mb.ShowDialog("This is a simple test" /* to see what happens."*/, "This is a test", MessageBoxButtons.OK); }