public MessageForm(MessageFormType type, string message, string caption, ExceptionInfo exceptionInfo, MessageBoxButtons buttons, string[] attachedFilePathes, MessageFormSettings settingsOverrides) { var defaultSettings = DefaultMessageFormSettingsProvider.GetDefaultMessageFormSettings(); _settings = MessageFormSettings.Merge(settingsOverrides, defaultSettings); _messageData = CreateMessageFormData(type, message, caption, exceptionInfo, _settings); _buttons = buttons; _attachedFilePathes = attachedFilePathes; InitializeComponent(); this.Text = _messageData.Title; this.SetMessage(_messageData.DisplayText); this.SetIcon(type); switch (_messageData.MessageType) { case MessageFormType.Error: case MessageFormType.Warning: this.ShowErrorDetails(); break; } this.InitializeButtons(type, buttons); this.ResizeView(_messageData.DisplayText); }
public static DialogResult ShowMessage(MessageFormType type, string message, string caption, ExceptionInfo exceptionInfo, MessageBoxButtons buttons, string[] attachedFilePathes, MessageFormSettings settings) { using (var view = new MessageForm(type, message, caption, exceptionInfo, buttons, attachedFilePathes, settings)) { TraceMessageData(type, view._messageData); var result = view.ShowDialog(); return(result); } }
private static void TraceMessageData(MessageFormType type, MessageFormData messageData) { if (messageData == null) { return; } if (type == MessageFormType.Error) { var messageDataXml = MessageFormData.SerializeToXml(messageData); Trace.TraceError(messageDataXml); } else if (type == MessageFormType.Warning) { var messageDataXml = MessageFormData.SerializeToXml(messageData); Trace.TraceWarning(messageDataXml); } }
/// <summary> /// Sets the properties. /// </summary> /// <param name="message">Message string.</param> /// <param name="type">Type of message</param> public MessageForm(string message, MessageFormType type) { InitializeComponent(); this.messageLabel.Text = message; if (type == MessageFormType.Error) { Image errorImage = Properties.Resources.exclamationMark; this.signPictureBox.BackgroundImage = errorImage; titleLabel.Text = "Error"; System.Media.SystemSounds.Hand.Play(); } else { Image informationImage = Properties.Resources.informationMark; this.signPictureBox.BackgroundImage = informationImage; titleLabel.Text = "Information"; System.Media.SystemSounds.Beep.Play(); } }
private void SetIcon(MessageFormType type) { switch (type) { case MessageFormType.Error: pictureBox.Image = Properties.Resources.resErrorImage; break; case MessageFormType.Warning: pictureBox.Image = Properties.Resources.resWarningImage; break; case MessageFormType.Information: case MessageFormType.Question: pictureBox.Image = Properties.Resources.resInfoImage; break; default: throw new NotSupportedException(); } }
private static MessageFormData CreateMessageFormData(MessageFormType type, string message, string caption, ExceptionInfo exceptionInfo, MessageFormSettings settingsOverrides) { var messageData = new MessageFormData { MessageType = type, EnvironmentInfo = EnvironmentInfo.GetEnvironmentInfo(), ExceptionInfo = exceptionInfo, }; if (!string.IsNullOrEmpty(message)) { messageData.DisplayText = message; } else { if (exceptionInfo != null && !string.IsNullOrEmpty(exceptionInfo.Message)) { messageData.DisplayText = exceptionInfo.Message; } else { messageData.DisplayText = settingsOverrides.DefaultDisplayText; } } if (!string.IsNullOrEmpty(caption)) { messageData.Title = caption; } else { messageData.Title = messageData.EnvironmentInfo.ProductName; } return(messageData); }
public static DialogResult ShowMessage(MessageFormType type, string message, string caption, ExceptionInfo exceptionInfo) { return ShowMessage(type, message, caption, exceptionInfo, DEFAULT_BUTTONS, null, new MessageFormSettings()); }
private void InitializeButtons(MessageFormType type, MessageBoxButtons buttons) { this.btnCopy.Visible = !_settings.HideCopyButton; this.btnCopy.Text = _settings.CopyButtonText; switch (_messageData.MessageType) { case MessageFormType.Error: case MessageFormType.Warning: this.btnDetails.Visible = !_settings.HideDetailsButton; this.btnDetails.Text = _settings.DetailsButtonText; break; default: this.btnDetails.Visible = false; break; } switch (buttons) { case MessageBoxButtons.OKCancel: { var btnOK = new Button { Text = _settings.OkButtonText, TabIndex = 1 }; var btnCancel = new Button { Text = _settings.CancelButtonText, TabIndex = 2 }; btnOK.Click += (s, e) => { DialogResult = DialogResult.OK; Close(); }; btnCancel.Click += (s, e) => { DialogResult = DialogResult.Cancel; Close(); }; flpButtons.Controls.Add(btnCancel); flpButtons.Controls.Add(btnOK); this.AcceptButton = btnOK; this.CancelButton = btnCancel; } break; case MessageBoxButtons.RetryCancel: { var btnRetry = new Button { Text = _settings.RetryButtonText, TabIndex = 1 }; var btnCancel = new Button { Text = _settings.CancelButtonText, AutoSize = true, TabIndex = 2 }; btnRetry.Click += (s, e) => { DialogResult = DialogResult.Yes; Close(); }; btnCancel.Click += (s, e) => { DialogResult = DialogResult.No; Close(); }; flpButtons.Controls.Add(btnCancel); flpButtons.Controls.Add(btnRetry); this.AcceptButton = btnRetry; this.CancelButton = btnCancel; } break; case MessageBoxButtons.AbortRetryIgnore: { var btnAbort = new Button { Text = _settings.AbortButtonText, AutoSize = true, TabIndex = 1 }; var btnRetry = new Button { Text = _settings.RetryButtonText, AutoSize = true, TabIndex = 2 }; var btnIgnore = new Button { Text = _settings.IgnoreButtonText, AutoSize = true, TabIndex = 3 }; btnAbort.Click += (s, e) => { DialogResult = DialogResult.Yes; Close(); }; btnRetry.Click += (s, e) => { DialogResult = DialogResult.No; Close(); }; btnIgnore.Click += (s, e) => { DialogResult = DialogResult.Cancel; Close(); }; flpButtons.Controls.Add(btnIgnore); flpButtons.Controls.Add(btnRetry); flpButtons.Controls.Add(btnAbort); this.AcceptButton = btnAbort; this.CancelButton = btnIgnore; } break; case MessageBoxButtons.YesNoCancel: { var btnYes = new Button { Text = _settings.YesButtonText, TabIndex = 1 }; var btnNo = new Button { Text = _settings.NoButtonText, TabIndex = 2 }; var btnCancel = new Button { Text = _settings.CancelButtonText, TabIndex = 3 }; btnYes.Click += (s, e) => { DialogResult = DialogResult.Yes; Close(); }; btnNo.Click += (s, e) => { DialogResult = DialogResult.No; Close(); }; btnCancel.Click += (s, e) => { DialogResult = DialogResult.Cancel; Close(); }; flpButtons.Controls.Add(btnCancel); flpButtons.Controls.Add(btnNo); flpButtons.Controls.Add(btnYes); this.AcceptButton = btnYes; this.CancelButton = btnCancel; } break; case MessageBoxButtons.YesNo: { var btnYes = new Button { Text = _settings.YesButtonText, TabIndex = 1 }; var btnNo = new Button { Text = _settings.NoButtonText, TabIndex = 2 }; btnYes.Click += (s, e) => { DialogResult = DialogResult.Yes; Close(); }; btnNo.Click += (s, e) => { DialogResult = DialogResult.No; Close(); }; flpButtons.Controls.Add(btnNo); flpButtons.Controls.Add(btnYes); this.AcceptButton = btnYes; this.CancelButton = btnNo; } break; case MessageBoxButtons.OK: default: { var btnOK = new Button { Text = _settings.OkButtonText, TabIndex = 1 }; btnOK.Click += (s, e) => { DialogResult = DialogResult.OK; Close(); }; flpButtons.Controls.Add(btnOK); this.AcceptButton = btnOK; this.CancelButton = btnOK; } break; } ((Button)AcceptButton).Select(); }
private static MessageFormData CreateMessageFormData(MessageFormType type, string message, string caption, ExceptionInfo exceptionInfo, MessageFormSettings settingsOverrides) { var messageData = new MessageFormData { MessageType = type, EnvironmentInfo = EnvironmentInfo.GetEnvironmentInfo(), ExceptionInfo = exceptionInfo, }; if (!string.IsNullOrEmpty(message)) { messageData.DisplayText = message; } else { if (exceptionInfo != null && !string.IsNullOrEmpty(exceptionInfo.Message)) { messageData.DisplayText = exceptionInfo.Message; } else { messageData.DisplayText = settingsOverrides.DefaultDisplayText; } } if (!string.IsNullOrEmpty(caption)) { messageData.Title = caption; } else { messageData.Title = messageData.EnvironmentInfo.ProductName; } return messageData; }
public static DialogResult ShowMessage(MessageFormType type, string message, string caption) { return(ShowMessage(type, message, caption, null, DEFAULT_BUTTONS, null, new MessageFormSettings())); }
public static DialogResult ShowMessage(MessageFormType type, string message, string caption, ExceptionInfo exceptionInfo, MessageBoxButtons buttons) { return ShowMessage(type, message, caption, exceptionInfo, buttons, null, new MessageFormSettings()); }
public static DialogResult ShowMessage(MessageFormType type, string message, string caption, ExceptionInfo exceptionInfo, MessageBoxButtons buttons, string[] attachedFilePathes, MessageFormSettings settings) { using (var view = new MessageForm(type, message, caption, exceptionInfo, buttons, attachedFilePathes, settings)) { TraceMessageData(type, view._messageData); var result = view.ShowDialog(); return result; } }
public static DialogResult ShowMessage(MessageFormType type, string message, string caption, ExceptionInfo exceptionInfo, MessageBoxButtons buttons) { return(ShowMessage(type, message, caption, exceptionInfo, buttons, null, new MessageFormSettings())); }