public MessageBoxExButton(MessageBoxExButtons button)
        {
            var buttonText = MessageBoxExManager.GetLocalizedString(button.ToString());

            if (buttonText == null)
            {
                buttonText = button.ToString();
            }

            var buttonVal = button.ToString();

            Text  = buttonText;
            Value = buttonVal;

            if (button == MessageBoxExButtons.Cancel)
            {
                IsCancelButton = true;
            }
        }
        /// <summary>
        /// Shows the messsage box with the specified owner
        /// </summary>
        /// <param name="owner"></param>
        /// <returns></returns>
        public string Show(IWin32Window owner)
        {
            if (_useSavedResponse && this.Name != null)
            {
                string savedResponse = MessageBoxExManager.GetSavedResponse(this);
                if (savedResponse != null)
                {
                    return(savedResponse);
                }
            }

            if (owner == null)
            {
                _msgBox.ShowDialog();
            }
            else
            {
                _msgBox.ShowDialog(owner);
            }

            if (this.Name != null)
            {
                if (_msgBox.AllowSaveResponse && _msgBox.SaveResponse)
                {
                    MessageBoxExManager.SetSavedResponse(this, _msgBox.Result);
                }
                else
                {
                    MessageBoxExManager.ResetSavedResponse(this.Name);
                }
            }
            else
            {
                Dispose();
            }

            return(_msgBox.Result);
        }