Exemple #1
0
        internal static bool CheckParentingCycle(Control bottom, Control toFind)
        {
            Form    form1    = (Form)null;
            Control control1 = (Control)null;

            for (Control control2 = bottom; control2 != null; control2 = control2.Parent)
            {
                control1 = control2;
                if (control2 == toFind)
                {
                    return(true);
                }
            }
            if (control1 != null && control1 is Form)
            {
                for (Form form2 = (Form)control1; form2 != null; form2 = form2.Owner)
                {
                    form1 = form2;
                    if (form2 == toFind)
                    {
                        return(true);
                    }
                }
            }
            if (form1 != null && form1.Parent != null)
            {
                return(RadMessageBox.CheckParentingCycle(form1.Parent, toFind));
            }
            return(false);
        }
Exemple #2
0
        private static DialogResult ShowCore(
            IWin32Window owner,
            string text,
            string caption,
            MessageBoxButtons buttons,
            Bitmap icon,
            MessageBoxDefaultButton defaultButton,
            RightToLeft rightToLeft,
            string detailsText)
        {
            if (RadMessageBox.Instance.Visible)
            {
                RadMessageBox.Instance.Dispose();
            }
            if (RadMessageBox.Instance == null || RadMessageBox.Instance.IsDisposed)
            {
                RadMessageBox.radMessageBoxForm = new RadMessageBoxForm();
            }
            RadMessageBox.Instance.DialogResult  = DialogResult.Cancel;
            RadMessageBox.Instance.RightToLeft   = rightToLeft;
            RadMessageBox.Instance.DetailsText   = detailsText;
            RadMessageBox.Instance.MessageText   = text;
            RadMessageBox.Instance.StartPosition = FormStartPosition.CenterParent;
            RadMessageBox.Instance.Owner         = (Form)null;
            Control bottom = (Control)null;

            if (owner != null)
            {
                bottom = Control.FromHandle(owner.Handle);
                if (bottom != null)
                {
                    RadMessageBox.Instance.Owner = bottom.FindForm();
                }
            }
            else
            {
                RadMessageBox.Instance.StartPosition = FormStartPosition.CenterScreen;
            }
            if (RadMessageBox.Instance.Owner != null)
            {
                RadMessageBox.Instance.TopMost = RadMessageBox.Instance.Owner.TopMost;
            }
            if (!string.IsNullOrEmpty(caption))
            {
                RadMessageBox.Instance.Text = caption;
            }
            else
            {
                RadMessageBox.Instance.Text = string.Empty;
            }
            RadMessageBox.Instance.MessageIcon          = icon;
            RadMessageBox.Instance.ButtonsConfiguration = buttons;
            RadMessageBox.Instance.DefaultButton        = defaultButton;
            bool flag = RadMessageBox.CheckParentingCycle(bottom, (Control)RadMessageBox.Instance);

            if (RadMessageBox.Instance.Owner != null)
            {
                if (!flag)
                {
                    try
                    {
                        int num = (int)RadMessageBox.Instance.ShowDialog((IWin32Window)RadMessageBox.Instance.Owner);
                        goto label_18;
                    }
                    catch (ArgumentException ex)
                    {
                        int num = (int)RadMessageBox.Instance.ShowDialog();
                        goto label_18;
                    }
                }
            }
            int num1 = (int)RadMessageBox.Instance.ShowDialog();

label_18:
            DialogResult dialogResult = DialogResult.OK;

            if (buttons != MessageBoxButtons.OK)
            {
                dialogResult = RadMessageBox.Instance.DialogResult;
            }
            return(dialogResult);
        }