public MessageBoxResult ShowMessageBox(
            string messageBoxText,
            string caption,
            MessageBoxButton button        = MessageBoxButton.OK,
            MessageBoxImage icon           = MessageBoxImage.None,
            MessageBoxResult defaultResult = MessageBoxResult.None,
            MessageBoxOptions options      = MessageBoxOptions.None)
        {
            MessageBoxResult result = MessageBoxResult.None;

            Execute.OnUIThread(
                () =>
            {
                Application.Current.MainWindow !.Activate();
                result = MessageBox.Show(
                    Application.Current.MainWindow,
                    messageBoxText,
                    caption,
                    button,
                    icon,
                    defaultResult,
                    options);
            });
            return(result);
        }
        private void ButtonKill_click(object sender, RoutedEventArgs e)
        {
            var                     boxText       = $"This action will immediately terminate the server process.\nBy doing so recent changes might get lost.\nAre you sure?";
            const string            caption       = "Warning!";
            const MessageBoxButton  button        = MessageBoxButton.YesNo;
            const MessageBoxImage   icon          = MessageBoxImage.Warning;
            const MessageBoxResult  defaultResult = MessageBoxResult.No;
            const MessageBoxOptions options       = MessageBoxOptions.DefaultDesktopOnly;

            var result = MessageBox.Show(boxText, caption, button, icon, defaultResult, options);

            if (result == MessageBoxResult.Yes)
            {
                _localServerRunner.Kill();
            }
        }
        public bool TryRunServer()
        {
            if (!AutoRunAfterStart)
            {
                return(false);
            }

            var                     boxText       = "Do you want to start Perpetuum server now?";
            const string            caption       = "Fresh installation";
            const MessageBoxButton  button        = MessageBoxButton.YesNo;
            const MessageBoxImage   icon          = MessageBoxImage.Warning;
            const MessageBoxResult  defaultResult = MessageBoxResult.Yes;
            const MessageBoxOptions options       = MessageBoxOptions.DefaultDesktopOnly;

            var result = MessageBox.Show(boxText, caption, button, icon, defaultResult, options);

            if (result == MessageBoxResult.Yes)
            {
                StartLocalServer();
                return(true);
            }

            return(false);
        }
Exemple #4
0
 public static MessageBoxResult Show(Window owner, string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon, MessageBoxResult defaultResult, System.Windows.MessageBoxOptions options)
 {
     Initialize_(owner);
     return(System.Windows.MessageBox.Show(owner, messageBoxText, caption, button, icon, defaultResult, options));
 }
        public MessageBoxEx(IWin32Window parent, string message, string title, MessageBoxButtons buttons, MessageBoxIcon icon, DefaultButton defaultButton, System.Windows.MessageBoxOptions flags = System.Windows.MessageBoxOptions.None, MessageBoxExOptions extraOptions = null) : this()
        {
            //Set up form
            lblTitle.Content            = title;
            txtDescription.Text         = message;
            txtDescription.TextTrimming = TextTrimming.CharacterEllipsis;
            //Set the buttons according to the buttons parameter.
            this.btns = buttons;
            switch (buttons)
            {
            case MessageBoxButtons.OK:
                //Only OK button should be visible.
                HideButtons(btnAbort, btnIgnoreCancel, btnNo, btnRetry);
                ShowButtons(btnYesOk, btnCancel);
                btnYesOk.Content = "OK";
                break;

            case MessageBoxButtons.OKCancel:
                //Only OK and Cancel button should be visible
                ShowButtons(btnIgnoreCancel, btnYesOk, btnCancel);
                HideButtons(btnAbort, btnNo, btnRetry);
                btnIgnoreCancel.Content = "CANCEL";
                btnYesOk.Content        = "OK";
                break;

            case MessageBoxButtons.AbortRetryIgnore:
                //Only Abort Retry and Ignore buttons should be visible. Not even X button
                ShowButtons(btnRetry, btnIgnoreCancel, btnAbort);
                HideButtons(btnCancel, btnNo, btnYesOk);
                btnIgnoreCancel.Content = "IGNORE";
                break;

            case MessageBoxButtons.YesNoCancel:
                //Only Yes, No and Cancel (plus x) buttons should be visible
                ShowButtons(btnYesOk, btnNo, btnCancel);
                HideButtons(btnAbort, btnIgnoreCancel, btnRetry);
                btnYesOk.Content = "YES";
                break;

            case MessageBoxButtons.YesNo:
                //Only Yes and No buttons should be visible. (not even x button)
                ShowButtons(btnYesOk, btnNo);
                HideButtons(btnRetry, btnIgnoreCancel, btnCancel, btnAbort);
                btnYesOk.Content = "YES";
                break;

            case MessageBoxButtons.RetryCancel:
                //Only retry or cancel buttons should be visible. (not even x)
                ShowButtons(btnRetry, btnIgnoreCancel);
                HideButtons(btnAbort, btnCancel, btnNo, btnYesOk);
                btnIgnoreCancel.Content = "RETRY";
                break;

            default:
                ShowButtons(btnYesOk, btnCancel);
                HideButtons(btnRetry, btnNo, btnIgnoreCancel, btnAbort);
                btnYesOk.Content = "OK";
                break;
            }
            //Set default button
            switch (defaultButton)
            {
            case DefaultButton.OK:
            case DefaultButton.Yes:
                SelectButton(btnYesOk);
                break;

            case DefaultButton.No:
                SelectButton(btnNo);
                break;

            case DefaultButton.Ignore:
            case DefaultButton.Cancel:
                SelectButton(btnIgnoreCancel);
                break;

            case DefaultButton.Abort:
                SelectButton(btnAbort);
                break;

            case DefaultButton.Retry:
                SelectButton(btnRetry);
                break;

            default:
                SelectButton(btnYesOk);
                break;
            }
            //Set up ICON
            switch (icon)
            {
            default:
            case MessageBoxIcon.None:
                break;

            case MessageBoxIcon.Error:
                this.Background           = new SolidColorBrush(Colors.Red);
                txtDescription.Foreground = new SolidColorBrush(Colors.White);
                break;

            case MessageBoxIcon.Warning:
                this.Background           = new SolidColorBrush(Colors.Gold);
                txtDescription.Foreground = new SolidColorBrush(Colors.Black);
                break;

            case MessageBoxIcon.Information:
                this.Background           = new SolidColorBrush(Colors.Green);
                txtDescription.Foreground = new SolidColorBrush(Colors.White);
                break;
            }
            /////TO-DO/////
            /// Extract icons from windows shell.dll or imageres.dll
            ///////////////
            //Set up extended params (background, colors, placement, etc..)
            if (extraOptions != null)
            {
                extraOptions.MessageBox = this;
            }
        }