Beispiel #1
0
        public DialogResult Show(
            string message,
            string title = null,
            MessageBoxButtons?buttons = MessageBoxButtons.OK,
            MessageBoxIcon icon       = MessageBoxIcon.Asterisk,
            bool isApplicationExit    = false,
            int timeout = 0,
            DialogResult defaultResultAfterTimeout = DialogResult.None)
        {
            var currentProcessId = Process.GetCurrentProcess().Id;

            _text              = message;
            _title             = $"{title} [Id {currentProcessId}]";
            _timeout           = timeout == 0 ? 1000 : timeout;
            _messageBoxIcon    = icon;
            _messageBoxButtons = buttons;

            _timeoutTimer = new System.Threading.Timer(OnTimerElapsed, null, _timeout * 1000, Infinite);

            var result = MessageBox.Show(_text, _title, _messageBoxButtons ?? MessageBoxButtons.OK, _messageBoxIcon);

            if (isApplicationExit)
            {
                Closed?.Invoke(this, EventArgs.Empty);
            }

            return(result);
        }
 private MessageBox(string text, string header, MessageBoxButtons?buttons)
 {
     InitializeComponent();
     TextContent = text;
     HeaderText  = header;
     Buttons     = buttons;
 }
Beispiel #3
0
        public static MsgBox Create(string message, string title = null, MessageBoxButtons?buttons = MessageBoxButtons.OK, MessageBoxIcon icon = MessageBoxIcon.Information)
        {
            var msgBox = new MsgBox();

            msgBox.Init(message, title, buttons, icon);
            return(msgBox);
        }
 /// <summary>
 /// Displays a message box with the specified text and parameters.
 /// </summary>
 /// <param name="text">The text.</param>
 /// <param name="title">The title.</param>
 /// <param name="helpFile">The help file.</param>
 /// <param name="helpTopic">The help topic.</param>
 /// <param name="initialization">The initialization.</param>
 /// <param name="buttons">The buttons.</param>
 /// <param name="icon">The icon.</param>
 /// <param name="customIcon">The custom icon.</param>
 /// <param name="defaultButton">The default button.</param>
 /// <param name="customButtons">The custom buttons.</param>
 /// <param name="buttonsLayout">The buttons layout.</param>
 /// <param name="autoSizeMode">The auto size mode.</param>
 /// <param name="position">The position.</param>
 /// <param name="showHelpButton">if set to <c>true</c> shows help button.</param>
 /// <param name="helpNavigator">The help navigator.</param>
 /// <param name="showDoNotShowAgainCheckBox">if set to <c>true</c> shows the do not show again check box.</param>
 /// <param name="style">The style.</param>
 /// <param name="autoClose">The auto close configuration.</param>
 /// <param name="design">The design.</param>
 /// <param name="titleStyle">The title style.</param>
 /// <param name="titleIcon">The title icon.</param>
 /// <param name="legacyButtons">The legacy buttons.</param>
 /// <param name="legacyIcon">The legacy icon.</param>
 /// <param name="legacyDefaultButton">The legacy default button.</param>
 /// <param name="behavior">The behavior.</param>
 /// <param name="callback">The callback.</param>
 /// <param name="opacity">The opacity.</param>
 /// <param name="parent">The parent form.</param>
 /// <param name="order">The z-order</param>
 /// <param name="sound">The sound configuration</param>
 /// <returns>One of the <see cref="InformationBoxResult"/> values.</returns>
 public static InformationBoxResult Show(string text,
                                         string title     = "",
                                         string helpFile  = "",
                                         string helpTopic = "",
                                         InformationBoxInitialization initialization = InformationBoxInitialization.FromScopeAndParameters,
                                         InformationBoxButtons buttons = InformationBoxButtons.OK,
                                         InformationBoxIcon icon       = InformationBoxIcon.None,
                                         Icon customIcon = null,
                                         InformationBoxDefaultButton defaultButton = InformationBoxDefaultButton.Button1,
                                         string[] customButtons = null,
                                         InformationBoxButtonsLayout buttonsLayout = InformationBoxButtonsLayout.GroupMiddle,
                                         InformationBoxAutoSizeMode autoSizeMode   = InformationBoxAutoSizeMode.None,
                                         InformationBoxPosition position           = InformationBoxPosition.CenterOnParent,
                                         bool showHelpButton         = false,
                                         HelpNavigator helpNavigator = HelpNavigator.TableOfContents,
                                         InformationBoxCheckBox showDoNotShowAgainCheckBox = 0,
                                         InformationBoxStyle style                   = InformationBoxStyle.Standard,
                                         AutoCloseParameters autoClose               = null,
                                         DesignParameters design                     = null,
                                         InformationBoxTitleIconStyle titleStyle     = InformationBoxTitleIconStyle.None,
                                         InformationBoxTitleIcon titleIcon           = null,
                                         MessageBoxButtons?legacyButtons             = null,
                                         MessageBoxIcon?legacyIcon                   = null,
                                         MessageBoxDefaultButton?legacyDefaultButton = null,
                                         InformationBoxBehavior behavior             = InformationBoxBehavior.Modal,
                                         AsyncResultCallback callback                = null,
                                         InformationBoxOpacity opacity               = InformationBoxOpacity.NoFade,
                                         Form parent = null,
                                         InformationBoxOrder order = InformationBoxOrder.Default,
                                         InformationBoxSound sound = InformationBoxSound.Default)
 {
     return(new InformationBoxForm(text, title, helpFile, helpTopic, initialization, buttons, icon, customIcon, defaultButton,
                                   customButtons, buttonsLayout, autoSizeMode, position, showHelpButton, helpNavigator, showDoNotShowAgainCheckBox,
                                   style, autoClose, design, titleStyle, titleIcon, legacyButtons, legacyIcon, legacyDefaultButton, behavior, callback, opacity, parent, order, sound).Show());
 }
Beispiel #5
0
        public DialogResult Show(string message,
                                 string title = null,
                                 MessageBoxButtons?buttons = MessageBoxButtons.OK,
                                 MessageBoxIcon icon       = MessageBoxIcon.Information,
                                 bool isApplicationExit    = false,
                                 int timeout = 0,
                                 DialogResult defaultResultAfterTimeout = DialogResult.None)
        {
            SetTimeout(timeout);

            Text             = title;
            _lblMessage.Text = message;
            SetButtons(buttons, defaultResultAfterTimeout);
            SetIcon(icon);
            SetSizeMessageBox();

            if (isApplicationExit)
            {
                Closed += (sender, args) => Environment.Exit(0);
            }

            if (_hasTimer)
            {
                LoadTimer();
            }

            var resultDialog = ShowDialog(_owner);
            var result       = resultDialog == DialogResult.Cancel
                ? _returnResultAfterTimeout
                : resultDialog;

            return(result);
        }
Beispiel #6
0
 public static DialogResult ShowWarningDialog(string message, string caption, [Optional] MessageBoxButtons?buttons)
 {
     if (string.IsNullOrEmpty(caption))
     {
         caption = "Warning";
     }
     return(MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Warning));
 }
Beispiel #7
0
 void Init(string message, string title, MessageBoxButtons?buttons, MessageBoxIcon icon)
 {
     _lblMessage.Text = message;
     Text             = title;
     InitButtons(buttons);
     InitIcon(icon);
     Size = MessageSize(message);
 }
Beispiel #8
0
 public static DialogResult ShowErrorDialog(string message, string caption, [Optional] MessageBoxButtons?buttons)
 {
     if (string.IsNullOrEmpty(caption))
     {
         caption = "ERROR";
     }
     return(MessageBox.Show(message, caption, buttons ?? MessageBoxButtons.OK, MessageBoxIcon.Error));
 }
Beispiel #9
0
 public static DialogResult ShowInfoDialog(string message, string caption, [Optional] MessageBoxButtons?buttons)
 {
     if (string.IsNullOrEmpty(caption))
     {
         caption = "UAAE";
     }
     return(MessageBox.Show(message, caption, buttons ?? MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information));
 }
Beispiel #10
0
        //public FormMessageBox(string text, string caption, MessageBoxButtons buttons)
        //{
        //    InitializeComponent();

        //    this.labelCaption.Text = caption;
        //    this.labelText.Text = text;
        //    this.buttons = buttons;

        //    //
        //    this.Load += FormMessageBox_Load;
        //    this.bunifuThinButton_left.Click += BunifuThinButton_left_Click;
        //    this.bunifuThinButton_right.Click += BunifuThinButton_right_Click;
        //}

        //public DialogResult ShowDialog(string text, string caption, MessageBoxButtons buttons)
        //{
        //    this.labelCaption.Text = caption;
        //    this.labelText.Text = text;

        //    this.buttons = buttons;
        //    this.custom_buttons = null;

        //    return base.ShowDialog();
        //}

        public DialogResult ShowDialog(string text, string caption, CustomMessageBoxButtons buttons)
        {
            this.labelCaption.Text = caption;
            this.labelText.Text    = text;

            this.buttons        = null;
            this.custom_buttons = buttons;

            return(base.ShowDialog());
        }
Beispiel #11
0
        private void SetButtons(MessageBoxButtons?messageBoxButtons,
                                DialogResult defaultResultAfterTimeout)
        {
            _controlForValueTimerTick  = _labelTimerTick;
            _defaultResultAfterTimeout = defaultResultAfterTimeout;

            if (!messageBoxButtons.HasValue)
            {
                return;
            }

            switch (messageBoxButtons)
            {
            case MessageBoxButtons.AbortRetryIgnore:
                AddButton(DialogResult.Abort, true);
                AddButton(DialogResult.Retry);
                AddButton(DialogResult.Ignore);
                SetDialogResult(DialogResult.Abort);
                break;

            case MessageBoxButtons.OK:
                AddButton(DialogResult.OK, true);
                SetDialogResult(DialogResult.OK);
                break;

            case MessageBoxButtons.OKCancel:
                AddButton(DialogResult.OK, true);
                AddButton(DialogResult.Cancel);
                SetDialogResult(DialogResult.OK);
                break;

            case MessageBoxButtons.RetryCancel:
                AddButton(DialogResult.Cancel, true);
                AddButton(DialogResult.Retry);
                SetDialogResult(DialogResult.Cancel);
                break;

            case MessageBoxButtons.YesNo:
                AddButton(DialogResult.Yes, true);
                AddButton(DialogResult.No);
                SetDialogResult(DialogResult.Yes);
                break;

            case MessageBoxButtons.YesNoCancel:
                AddButton(DialogResult.Yes, true);
                AddButton(DialogResult.No);
                AddButton(DialogResult.Cancel);
                SetDialogResult(DialogResult.Yes);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(messageBoxButtons), messageBoxButtons, null);
            }
        }
Beispiel #12
0
 public static DialogResult ShowMessageBox(
     this IDialogController dialogController,
     string text,
     string?caption            = null,
     MessageBoxButtons?buttons = null,
     MessageBoxIcon?icon       = null)
 => dialogController.ShowMessageBox(
     owner: null,
     text: text,
     caption: caption,
     buttons: buttons,
     icon: icon);
Beispiel #13
0
        int ystart;                     // How far down does the text start from this.ClientArea.Top?

        public MessageBoxTheme(string text, string caption, MessageBoxButtons?buttons = MessageBoxButtons.OK, MessageBoxIcon messageBoxIcon = MessageBoxIcon.None, Icon formIcon = null)
        {
            InitializeComponent();

            DialogResult = DialogResult.None;

            this.msgText = text;
            this.Text    = labelCaption.Text = caption ?? string.Empty;
            this.buttons = buttons;
            this.mbIcon  = messageBoxIcon;
            if (formIcon != null)
            {
                this.Icon = formIcon;
            }
        }
Beispiel #14
0
        /// <summary>
        /// Show a message box in a standartized way.
        /// </summary>
        public static DialogResult ShowMessageBox(string text, string caption,
                                                  MessageBoxButtons?buttons, MessageBoxIcon?icon)
        {
            if (buttons.HasValue == false)
            {
                buttons = MessageBoxButtons.OK;
            }

            if (icon.HasValue == false)
            {
                icon = MessageBoxIcon.None;
            }

            return(MessageBox.Show(text, Application.ProductName + " - " + caption, buttons.Value, icon.Value));
        }
Beispiel #15
0
        void InitButtons(MessageBoxButtons?buttons)
        {
            if (!buttons.HasValue)
            {
                return;
            }

            switch (buttons)
            {
            case MessageBoxButtons.AbortRetryIgnore:
                AddButton("Ignore");
                AddButton("Retry");
                AddButton("Abort");
                break;

            case MessageBoxButtons.OK:
                AddButton("OK");
                break;

            case MessageBoxButtons.OKCancel:
                AddButton("Cancel");
                AddButton("OK");
                break;

            case MessageBoxButtons.RetryCancel:
                AddButton("Cancel");
                AddButton("Retry");
                break;

            case MessageBoxButtons.YesNo:
                AddButton("No");
                AddButton("Yes");
                break;

            case MessageBoxButtons.YesNoCancel:
                AddButton("Cancel");
                AddButton("No");
                AddButton("Yes");
                break;
            }
        }
Beispiel #16
0
        internal MessageBoxFormMac(IWin32Window owner, string text, string caption, MessageBoxButtons?buttons = null,
                                   MessageBoxIcon?icon   = null, MessageBoxDefaultButton?defaultButton = null, MessageBoxOptions?options = null,
                                   bool diplayHelpButton = false, string helpFilePath = null, HelpNavigator?navigator = null, object param = null)
        {
            this.owner   = owner;
            this.buttons = new List <ButtonDef>();
            alert        = new NSAlert();

            if (text != null)
            {
                alert.InformativeText = text;
            }

            if (caption != null)
            {
                alert.MessageText = caption;
            }

            AddButtons(buttons, defaultButton);
            AddIcon(icon);
        }
 public async static Task <MessageBoxResult> Show(string text, string header, MessageBoxButtons?buttons)
 {
     //Přidání stránky s vlastním MessageBoxem
     MainWindow.AddPage(new MessageBox(text, header, buttons));
     //Navrácení nového Tasku, u kterého se čeká než se dokončí
     return(await Task.Run(() => {
         //Kontrola jestli se result rovná null
         while (result == null)
         {
             //Zastavení Tasku na 50ms
             Task.Delay(50);
         }
         //Odebrání okna MessageBoxu. Použít pouze MainWindow.RemovePage();
         //je nemožné z důvodu, že funkce upravuje UI a neběží na UI vlákně
         Application.Current.Dispatcher.Invoke(() => {
             MainWindow.RemovePage();
         }, System.Windows.Threading.DispatcherPriority.Send);
         var temp = result;
         //Nastavení result na null
         result = null;
         //přetypování a vrácení výsledku
         return (MessageBoxResult)temp;
     }));
 }
 public DecoratedMessage(string message, string caption, bool?showOnce, bool?showIfFailed, MessageBoxButtons?buttons, MessageBoxIcon?type)
 {
     Message      = message;
     Caption      = caption;
     ShowOnce     = showOnce ?? false;
     Shown        = false;
     ShowIfFailed = showIfFailed ?? false;
     Buttons      = buttons ?? MessageBoxButtons.OK;
     Type         = type ?? MessageBoxIcon.None;
 }
Beispiel #19
0
 /// <summary>
 /// メッセージボックスに表示するボタンを取得する
 /// </summary>
 /// <param name="buttons">
 /// メッセージボックスに表示するボタン
 /// </param>
 /// <returns>
 /// メッセージボックスに表示するボタンを返却
 /// </returns>
 private static MessageBoxButtons GetButtons(MessageBoxButtons?buttons = null)
 {
     return(buttons ?? MessageBoxButtons.OK);
 }
Beispiel #20
0
        /// <summary>
        /// 显示一般提示信息。
        /// </summary>
        /// <param name="msType">消息类型。</param>
        /// <param name="prompt">提示信息。</param>
        /// <param name="label">显示信息用的状态栏标签。可以为null。</param>
        /// <param name="showBox">true = 显示提示框,false = 无提示框。</param>
        /// <param name="btns">提示框按钮,可以为null。</param>
        public static DialogResult ShowPrompt(MessageType msType, string prompt, ToolStripStatusLabel label = null, MessageBoxButtons?btns = null)
        {
            if (label != null)
            {
                label.Text      = prompt;
                label.ForeColor = (msType == MessageType.mtError) ? Color.Red : Color.Navy;
            }

            if (btns == null)
            {
                btns = MessageBoxButtons.OK;
            }

            string         caption = "消息";
            MessageBoxIcon icon    = MessageBoxIcon.Information;

            if (msType == MessageType.mtError)
            {
                caption = "错误";
                icon    = MessageBoxIcon.Error;
            }
            else if (msType == MessageType.mtWarning)
            {
                caption = "警告";
                icon    = MessageBoxIcon.Warning;
            }
            DialogResult dr = MessageBox.Show(prompt, caption, (MessageBoxButtons)btns, icon);

            System.Windows.Forms.Application.DoEvents();
            return(dr);
        }
Beispiel #21
0
        public static DialogResult Show(string message, string title = null, MessageBoxButtons?buttons = MessageBoxButtons.OK, MessageBoxIcon icon = MessageBoxIcon.Information)
        {
            var msgBox = Create(message, title, buttons, icon);

            return(msgBox.ShowDialog());
        }
Beispiel #22
0
        internal void AddButtons(MessageBoxButtons?buttons, MessageBoxDefaultButton?defaultButton)
        {
            if (!buttons.HasValue)
            {
                return;
            }

            switch (buttons.Value)
            {
            case MessageBoxButtons.AbortRetryIgnore:
                AddButton(DialogResult.Abort, R.Abort);
                AddButton(DialogResult.Retry, R.Retry);
                AddButton(DialogResult.Ignore, R.Ignore);
                break;

            case MessageBoxButtons.OK:
                AddButton(DialogResult.OK, R.OK);
                break;

            case MessageBoxButtons.OKCancel:
                AddButton(DialogResult.OK, R.OK);
                AddButton(DialogResult.Cancel, R.Cancel);
                break;

            case MessageBoxButtons.RetryCancel:
                AddButton(DialogResult.Retry, R.Retry);
                AddButton(DialogResult.Cancel, R.Cancel);
                break;

            case MessageBoxButtons.YesNo:
                AddButton(DialogResult.Yes, R.Yes);
                AddButton(DialogResult.No, R.No);
                break;

            case MessageBoxButtons.YesNoCancel:
                AddButton(DialogResult.Yes, R.Yes);
                AddButton(DialogResult.No, R.No);
                AddButton(DialogResult.Cancel, R.Cancel);
                break;

            default:
                AddButton(DialogResult.OK, R.OK);
                break;
            }

            // On Mac, the default button is always the first one => Move the default button to front.
            if (defaultButton.HasValue)
            {
                switch (defaultButton.Value)
                {
                case MessageBoxDefaultButton.Button1:
                    break;

                case MessageBoxDefaultButton.Button2:
                    MoveButtonToFront(1);
                    break;

                case MessageBoxDefaultButton.Button3:
                    MoveButtonToFront(2);
                    break;
                }
            }

            DoAddButtons();
        }
Beispiel #23
0
        public void Init(string ptext, string caption, MessageBoxButtons?buttons, MessageBoxIcon ic, System.Drawing.Icon windowicon)
        {
            if (buttons == null)
            {
                buttonExt1.Visible = false;
                buttonExt2.Visible = false;
                buttonExt3.Visible = false;
            }
            else if (buttons == MessageBoxButtons.AbortRetryIgnore)
            {
                buttonExt1.Tag = DialogResult.Ignore; buttonExt1.Text = "Ignore";
                buttonExt2.Tag = DialogResult.Retry; buttonExt2.Text = "Retry";
                buttonExt3.Tag = DialogResult.Abort; buttonExt3.Text = "Abort";
            }
            else if (buttons == MessageBoxButtons.OK)
            {
                buttonExt1.Tag     = DialogResult.OK; buttonExt1.Text = "OK";
                buttonExt2.Visible = false;
                buttonExt3.Visible = false;
                this.AcceptButton  = this.CancelButton = buttonExt1;
            }
            else if (buttons == MessageBoxButtons.OKCancel)
            {
                buttonExt1.Tag     = DialogResult.Cancel; buttonExt1.Text = "Cancel";
                buttonExt2.Tag     = DialogResult.OK; buttonExt2.Text = "OK";
                buttonExt3.Visible = false;
            }
            else if (buttons == MessageBoxButtons.RetryCancel)
            {
                buttonExt1.Tag     = DialogResult.Cancel; buttonExt1.Text = "Cancel";
                buttonExt2.Tag     = DialogResult.OK; buttonExt2.Text = "Retry";
                buttonExt3.Visible = false;
            }
            else if (buttons == MessageBoxButtons.YesNo)
            {
                buttonExt1.Tag     = DialogResult.No; buttonExt1.Text = "No";
                buttonExt2.Tag     = DialogResult.Yes; buttonExt2.Text = "Yes";
                buttonExt3.Visible = false;
            }
            else if (buttons == MessageBoxButtons.YesNoCancel)
            {
                buttonExt1.Tag = DialogResult.Cancel; buttonExt1.Text = "Cancel";
                buttonExt2.Tag = DialogResult.No; buttonExt2.Text = "No";
                buttonExt3.Tag = DialogResult.Yes; buttonExt3.Text = "Yes";
            }

            labelCaption.Text = this.Text = caption;

            if (ic == MessageBoxIcon.Asterisk)
            {
                icon = SystemIcons.Asterisk;
            }
            else if (ic == MessageBoxIcon.Error)
            {
                icon = SystemIcons.Error;
            }
            else if (ic == MessageBoxIcon.Exclamation)
            {
                icon = SystemIcons.Exclamation;
            }
            else if (ic == MessageBoxIcon.Information)
            {
                icon = SystemIcons.Information;
            }
            else if (ic == MessageBoxIcon.Question)
            {
                icon = SystemIcons.Question;
            }
            else if (ic == MessageBoxIcon.Warning)
            {
                icon = SystemIcons.Warning;
            }

            ThemeableForms theme = ThemeableFormsInstance.Instance;

            if (theme != null)  // paranoid
            {
                fnt        = new Font(theme.FontName, 12.0F);
                forecolour = theme.TextBlockColor;
                bool border = theme.ApplyToForm(this, fnt);
                if (!border)
                {
                    labelCaption.Visible = true;
                }
                ystart = 30 + (!border ? 20 : 0);
                if (windowicon != null)
                {
                    this.Icon = windowicon;
                }
                else if (theme.MessageBoxWindowIcon != null)
                {
                    this.Icon = theme.MessageBoxWindowIcon;
                }
            }
            else
            {
                fnt        = new Font("MS Sans Serif", 12.0F);
                forecolour = Color.Black;
                if (windowicon != null)
                {
                    this.Icon = windowicon;
                }
                ystart = 30;
            }

            SetText(ptext);
        }
 public static Task <MessageBoxButtons> ShowAsync(this IHxMessageBoxService messageBoxService, string title, string text, MessageBoxButtons buttons = MessageBoxButtons.Ok, MessageBoxButtons?primaryButton = null, string customButtonText = null)
 {
     return(messageBoxService.ShowAsync(new MessageBoxRequest()
     {
         Title = title,
         Text = text,
         Buttons = buttons,
         PrimaryButton = primaryButton,
         CustomButtonText = customButtonText
     }));
 }
Beispiel #25
0
        MessageBoxIcon mbIcon;          // The icon that this dialog will show

        public MessageBoxTheme(string text, string caption = null, MessageBoxButtons?buttons = MessageBoxButtons.OK, MessageBoxIcon messageBoxIcon = MessageBoxIcon.None, Icon formIcon = null)
        {
            InitializeComponent();

            DialogResult = DialogResult.None;

            this.Text         = labelCaption.Text = caption ?? "Warning".TxID(ECIDs.MessageBoxTheme_Warning);
            themeTextBox.Text = text;
            this.buttons      = buttons;
            this.mbIcon       = messageBoxIcon;
            if (formIcon != null)
            {
                this.Icon = formIcon;
            }

            Theme theme = Theme.Current;

            this.MinimizeBox = false;

            if (theme != null)  // paranoid
            {
                theme.ApplyStd(this);
                themeTextBox.TextBoxBackColor = this.BackColor; // text box back is form back in this circumstance - we don't want it to stand out.

                if (FormBorderStyle == FormBorderStyle.Sizable) // override sizable to fixed
                {
                    FormBorderStyle = FormBorderStyle.FixedToolWindow;
                }
            }
            else
            {
                this.Font      = BaseUtils.FontLoader.GetFont("MS Sans Serif", 12.0F);
                this.ForeColor = Color.Black;
            }

            switch (buttons)
            {
            case null:
                buttonExt1.Visible = buttonExt2.Visible = buttonExt3.Visible = false;
                break;

            case MessageBoxButtons.AbortRetryIgnore:
                buttonExt1.DialogResult = DialogResult.Ignore; buttonExt1.Text = "Ignore".TxID(ECIDs.MessageBoxTheme_Ignore);
                buttonExt2.DialogResult = DialogResult.Retry; buttonExt2.Text = "Retry".TxID(ECIDs.MessageBoxTheme_Retry);
                buttonExt3.DialogResult = DialogResult.Abort; buttonExt3.Text = "Abort".TxID(ECIDs.MessageBoxTheme_Abort);
                this.AcceptButton       = buttonExt2;
                this.CancelButton       = buttonExt3;
                break;

            case MessageBoxButtons.OKCancel:
                buttonExt1.DialogResult = DialogResult.Cancel; buttonExt1.Text = "Cancel".TxID(ECIDs.MessageBoxTheme_Cancel);
                buttonExt2.DialogResult = DialogResult.OK; buttonExt2.Text = "OK".TxID(ECIDs.MessageBoxTheme_OK);
                buttonExt3.Visible      = false;
                this.AcceptButton       = buttonExt2;
                this.CancelButton       = buttonExt1;
                break;

            case MessageBoxButtons.RetryCancel:
                buttonExt1.DialogResult = DialogResult.Cancel; buttonExt1.Text = "Cancel".TxID(ECIDs.MessageBoxTheme_Cancel);
                buttonExt2.DialogResult = DialogResult.OK; buttonExt2.Text = "Retry".TxID(ECIDs.MessageBoxTheme_Retry);
                buttonExt3.Visible      = false;
                this.AcceptButton       = buttonExt2;
                this.CancelButton       = buttonExt1;
                break;

            case MessageBoxButtons.YesNo:
                buttonExt1.DialogResult = DialogResult.No; buttonExt1.Text = "No".TxID(ECIDs.MessageBoxTheme_No);
                buttonExt2.DialogResult = DialogResult.Yes; buttonExt2.Text = "Yes".TxID(ECIDs.MessageBoxTheme_Yes);
                buttonExt3.Visible      = false;
                break;

            case MessageBoxButtons.YesNoCancel:
                buttonExt1.DialogResult = DialogResult.Cancel; buttonExt1.Text = "Cancel".TxID(ECIDs.MessageBoxTheme_Cancel);
                buttonExt2.DialogResult = DialogResult.No; buttonExt2.Text = "No".TxID(ECIDs.MessageBoxTheme_No);
                buttonExt3.DialogResult = DialogResult.Yes; buttonExt3.Text = "Yes".TxID(ECIDs.MessageBoxTheme_Yes);
                this.AcceptButton       = this.CancelButton = buttonExt1;
                break;

            case MessageBoxButtons.OK:
            default:
                buttonExt1.DialogResult = DialogResult.OK; buttonExt1.Text = "OK".TxID(ECIDs.MessageBoxTheme_OK);
                buttonExt2.Visible      = false;
                buttonExt3.Visible      = false;
                this.AcceptButton       = this.CancelButton = buttonExt1;
                break;
            }

            Image iconselected = null;                // If not null, this icon will be drawn on the left of this form. Set from mbIcon in OnLoad

            switch (mbIcon)
            {
            // case MessageBoxIcon.Information:
            case MessageBoxIcon.Asterisk:
                iconselected = SystemIcons.Asterisk.ToBitmap();
                break;

            // case MessageBoxIcon.Exclamation:
            case MessageBoxIcon.Warning:
                iconselected = SystemIcons.Warning.ToBitmap();
                break;

            // case MessageBoxIcon.Error:
            // case MessageBoxIcon.Stop:
            case MessageBoxIcon.Hand:
                iconselected = SystemIcons.Hand.ToBitmap();
                break;

            case MessageBoxIcon.Question:
                iconselected = SystemIcons.Question.ToBitmap();
                break;

            case MessageBoxIcon.None:
            default:
                break;
            }

            if (iconselected != null)
            {
                panelIcon.Width           = iconselected.Width;
                panelIcon.Height          = iconselected.Height;
                panelLeft.Width           = panelIcon.Right + 8;
                panelIcon.BackgroundImage = iconselected;
            }
            else
            {
                panelLeft.Width = 4;
            }

            labelCaption.Visible = this.FormBorderStyle == FormBorderStyle.None;

            themeTextBox.BorderStyle = BorderStyle.None;
            themeTextBox.BorderColor = Color.Transparent;
            themeTextBox.ReadOnly    = true;

            Size = new Size(20, 20);        // minimise until shown
        }
Beispiel #26
0
        public virtual void FillFromXml(XmlElement element, Menu parentMenu)
        {
            ParentMenu = parentMenu;

            XmlAttribute compatibleProductModelsAttribute = element.Attributes["compatibleProductModels"];

            string[] compatibleProductModels = null;
            if (compatibleProductModelsAttribute != null)
            {
                compatibleProductModels = TextParser.ParseProductModels(compatibleProductModelsAttribute.Value);
            }

            CompatibleProductModels = compatibleProductModels;

            XmlNamespaceManager namespaceManager = new XmlNamespaceManager(new NameTable());

            namespaceManager.AddNamespace("cf", "http://schema.vanbergen.local/Tools/CherryUpdater/CommandFile");

            List <Requirement> requirementList = new List <Requirement>();
            XmlNodeList        requireNodes    = element.SelectNodes("child::cf:require", namespaceManager);

            foreach (XmlElement requireElement in requireNodes)
            {
                requirementList.Add(Requirement.CreateFromXML(requireElement));
            }

            Requirements = requirementList.Count > 0 ? requirementList.ToArray() : null;

            XmlElement helpTextElement = element["helpText"];
            string     helpText        = null;

            if (helpTextElement != null)
            {
                helpText = TextParser.ParseMultilineElementText(helpTextElement.InnerText.Trim());
            }

            HelpText = helpText;

            XmlElement preMessageElement = element["preMessage"];

            if (preMessageElement != null)
            {
                MessageBoxButtons?showButtons = null;

                XmlAttribute showButtonsAttribute = preMessageElement.Attributes["showButtons"];
                if (showButtonsAttribute != null)
                {
                    switch (showButtonsAttribute.Value)
                    {
                    case "ok":
                        showButtons = MessageBoxButtons.OK;
                        break;

                    case "okCancel":
                        showButtons = MessageBoxButtons.OKCancel;
                        break;

                    case "yesNo":
                        showButtons = MessageBoxButtons.YesNo;
                        break;
                    }
                }

                MessageBoxIcon?messageTypeIcon = null;

                XmlAttribute messageTypeAttribute = preMessageElement.Attributes["messageType"];
                if (messageTypeAttribute != null)
                {
                    switch (messageTypeAttribute.Value)
                    {
                    case "neutral":
                        messageTypeIcon = MessageBoxIcon.None;
                        break;

                    case "information":
                        messageTypeIcon = MessageBoxIcon.Information;
                        break;

                    case "question":
                        messageTypeIcon = MessageBoxIcon.Question;
                        break;

                    case "warning":
                        messageTypeIcon = MessageBoxIcon.Warning;
                        break;
                    }
                }

                PreMessage = new DecoratedMessage(TextParser.ParseMultilineElementText(preMessageElement.InnerText.Trim()), preMessageElement.Attributes["caption"].Value,
                                                  TextParser.ParseNullableXmlBoolean(preMessageElement.Attributes["showOnce"]), false, showButtons, messageTypeIcon);
            }

            Title = element.Attributes["title"].Value;
        }
 /// <summary>
 /// Displays the message box.
 /// </summary>
 /// <returns></returns>
 public async Task ShowAsync()
 {
     result = null;
     await modal.ShowAsync();
 }
 private async Task HandleButtonClick(MessageBoxButtons button)
 {
     result = button;
     await modal.HideAsync();              // fires HxModal.OnClose
 }