namespace System.Windows.Forms { public static class MessageBox { private static MessageBoxButton GetButton(MessageBoxButtons buttons) { return buttons switch { MessageBoxButtons.OKCancel => MessageBoxButton.OKCancel, MessageBoxButtons.YesNo => MessageBoxButton.YesNo, MessageBoxButtons.YesNoCancel => MessageBoxButton.YesNoCancel, _ => MessageBoxButton.OK }; } private static MessageBoxImage GetIcon(MessageBoxIcon icon) { return icon switch { MessageBoxIcon.Information => MessageBoxImage.Information, MessageBoxIcon.Warning => MessageBoxImage.Warning, MessageBoxIcon.Error => MessageBoxImage.Error, MessageBoxIcon.Question => MessageBoxImage.Question, _ => MessageBoxImage.None }; } private static DialogResult GetResult(MessageBoxResult result) { return result switch { MessageBoxResult.OK => DialogResult.OK, MessageBoxResult.Cancel => DialogResult.Cancel, MessageBoxResult.Yes => DialogResult.Yes, MessageBoxResult.No => DialogResult.No, _ => DialogResult.None }; } public static DialogResult Show(string text) => GetResult(System.Windows.MessageBox.Show(text)); public static DialogResult Show(string text, string caption) => GetResult(System.Windows.MessageBox.Show(text, caption)); public static DialogResult Show(string text, string caption, MessageBoxButtons buttons) => GetResult(System.Windows.MessageBox.Show(text, caption, GetButton(buttons))); public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) => GetResult(System.Windows.MessageBox.Show(text, caption, GetButton(buttons), GetIcon(icon))); } public enum MessageBoxButtons { OK, OKCancel, AbortRetryIgnore, YesNoCancel, YesNo, RetryCancel } public enum MessageBoxIcon { None = 0, Hand = 0x10, Question = 0x20, Exclamation = 48, Asterisk = 0x40, Stop = 0x10, Error = 0x10, Warning = 48, Information = 0x40 } }