public static object Show(string text, string caption, FrameworkElement icon)
        {
            MessageBoxContent content = new MessageBoxContent(new TActionSet(), text, icon);
            DecoratableWindow window  = new DecoratableWindow()
            {
                Title         = caption,
                ResizeMode    = ResizeMode.NoResize,
                SizeToContent = SizeToContent.WidthAndHeight
            };

            window.Closing += (sender, args) =>
            {
                if (!content.CanClose)
                {
                    args.Cancel = true;
                }
            };

            window.SetResourceReference(DecoratableWindow.StyleProperty, "MessageBoxWindowStyle");

            object value = null;

            content.ResultButtonClicked += (sneder, args) =>
            {
                var arg = args as MessageBoxEventArgs;
                value = arg.Result;
            };

            window.Content = content;

            window.ShowDialog();

            return(value);
        }
        public MessageBoxXWindow(string message, string caption, MessageBoxButton button, MessageBoxIcon icon, DefaultButton defaultButton, Window owner, MessageBoxXSetting setting)
        {
            _setting = setting;

            WindowXModalDialog.SetButtons(this, button);
            WindowXModalDialog.SetDefaultButton(this, defaultButton);
            WindowXModalDialog.SetOKButtonContent(this, setting.OKButtonContent);
            WindowXModalDialog.SetCancelButtonContent(this, setting.CancelButtonContent);
            WindowXModalDialog.SetYesButtonContent(this, setting.YesButtonContent);
            WindowXModalDialog.SetNoButtonContent(this, setting.NoButtonContent);
            WindowXModalDialog.SetButtonStyle(this, setting.ButtonStyle);
            WindowXModalDialog.SetInverseButtonsSequence(this, setting.InverseButtonsSequence);

            Owner = owner;
            Title = caption ?? "";
            WindowStartupLocation = owner == null ? WindowStartupLocation.CenterScreen : WindowStartupLocation.CenterOwner;

            Style   = setting.WindowXStyle;
            Content = new MessageBoxContent()
            {
                Message        = message,
                Caption        = caption,
                MessageBoxIcon = icon,
                ButtonStyle    = setting.ButtonStyle,
            };
            ContentTemplate = setting.ContentTemplate;
        }
Example #3
0
    protected override void OnAppear(int sequence, int openOrder, WindowContext context)
    {
        base.OnAppear(sequence, openOrder, context);
        MessageBoxContent gameInfoContent = context as MessageBoxContent;

        currentGameInfoContent = gameInfoContent;
        InitShow(currentGameInfoContent);
    }
Example #4
0
        public void ShowMessageBox(MessageBoxContent context)
        {
            var window = GetUnClosedWindow("MessageBox");

            if (window)
            {
                messageBoxContexts.Enqueue(context);
            }
            else
            {
                OpenWindow("MessageBox", true, false, context);
            }
        }
Example #5
0
        public static void Show(
            string title, string content, MessageBoxContent contentStyle = MessageBoxContent.Text)
        {
            StyledMessageBoxSettings settings = new StyledMessageBoxSettings
            {
                Title        = title,
                ContentStyle = contentStyle,
                Content      = content
            };
            StyledMessageBox mbox = new StyledMessageBox(settings);

            mbox.ShowDialog();
        }
Example #6
0
    private void ShowMessageBoxForSeconds(MessageBoxContent msgBoxContent)
    {
        if (GetParent() == null)
        {
            Debug.LogWarning("Message Box Parent was null. MessageBox will not be shown!");
            return;
        }

        MsgBoxController msgBox = Instantiate(GetPrefab());

        msgBox.SetContent(msgBoxContent);
        msgBox.transform.SetParent(GetParent().transform, false);
        StartCoroutine(WaitForSecondsAndThenKill(msgBoxContent.ShowForSeconds, msgBox.gameObject));
    }
Example #7
0
 private void InitShow(MessageBoxContent gameInfoContent)
 {
     if (gameInfoContent.GetShowType() == 2)
     {
         //显示两个按钮 设置连个按钮的回掉
         twoButton.gameObject.SetActive(true);
     }
     else
     {
         twoButton.gameObject.SetActive(false);
     }
     twoButtonAction   = null;
     titleText.text    = gameInfoContent.GetTitle();
     showInfoText.text = gameInfoContent.GetContent();
     RegisterCallBack();
 }
Example #8
0
    public void SetContent(MessageBoxContent content)
    {
        switch (content.type)
        {
        case MessageBoxContent.MsgBoxType.NoButtons:
            SetContent(content.Header, content.Body);
            break;

        case MessageBoxContent.MsgBoxType.OneButton:
            SetContent(content.Header, content.Body, content.ButtonRightAction, content.ButtonRightText);
            break;

        case MessageBoxContent.MsgBoxType.TwoButtons:
            SetContent(content.Header, content.Body, content.ButtonRightAction, content.ButtonRightText, content.ButtonLeftAction, content.ButtonLeftText);
            break;

        default:
            break;
        }
    }
Example #9
0
        private Control CreateContentControl(string content, MessageBoxContent contentStyle)
        {
            if (contentStyle == MessageBoxContent.RichText)
            {
                RichTextBox tb = new RichTextBox();
                tb.Parent = panelDialogContent;
                tb.Dock   = DockStyle.Fill;
                tb.Text   = content;
                return(tb);
            }

            Label lbl = new Label();

            lbl.Parent    = panelDialogContent;
            lbl.Dock      = DockStyle.Fill;
            lbl.TextAlign = ContentAlignment.MiddleCenter;
            lbl.Padding   = new Padding(50);
            lbl.Text      = content;
            return(lbl);
        }
Example #10
0
        public static DialogResult Show(
            string title, string content, MessageBoxButtons buttons, Icon messageBoxIcon = null,
            MessageBoxContent contentStyle = MessageBoxContent.Text, Image messageBoxImage = null,
            FormBorderStyle borderStyle    = FormBorderStyle.FixedDialog, Size size        = default,
            BorderButtons borderButtons    = BorderButtons.Close)
        {
            StyledMessageBoxSettings settings = new StyledMessageBoxSettings
            {
                Title                  = title,
                ContentStyle           = contentStyle,
                Content                = content,
                Size                   = size,
                ActivatedDialogButtons = buttons,
                ActivatedBorderButtons = borderButtons,
                BorderStyle            = borderStyle,
                MessageBoxSideImage    = messageBoxImage,
                MessageBoxIcon         = messageBoxIcon
            };

            StyledMessageBox mbox = new StyledMessageBox(settings);

            return(mbox.ShowDialog());
        }