コード例 #1
0
        private dlgForm(Form child, DialogFormSize bodyPanelSize = DialogFormSize.Medium, bool ShouldDisposeOnOutsideClick = true, bool DisabledCloseOnOutsideClick = false)
        {
            this.ShouldDisposeOnOutsideClick = ShouldDisposeOnOutsideClick;
            this.DisabledCloseOnOutsideClick = DisabledCloseOnOutsideClick;

            ShouldDisposeOnChildClose = true;
            var sizeMultiplier = (int)bodyPanelSize;

            var _bodyPanelSize = new Size(sizeMultiplier * 100, (int)((double)sizeMultiplier / 2) * 100);

            InitializeComponent();
            FormBorderStyle = FormBorderStyle.None;
            var mainFormSize = MainForm.Instance.Size;

            Size = new Size(mainFormSize.Width - 14, mainFormSize.Height - 14);
            pnlMain.MinimumSize = Size;
            pnlBody.Size        = _bodyPanelSize;
            pnlBody.CenterToClient(this);
            txtLeftTitle.CenterToClient(pnlSide);
            SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            BackColor         = Color.Transparent;
            TransparencyKey   = Color.Empty;
            pnlMain.BackColor = Color.FromArgb(170, 0, 0, 0);
            Child             = child;
            Child.OpenAsChildOfControl(pnlBody);
            //Left focus from left side title (because it is RichTextBox)
            txtLeftTitle.Enter += (s, e) => { txtLeftTitle.Parent.Focus(); };
            KeyPreview          = true;
        }
コード例 #2
0
        public static void ShowDialog(Form child, DialogFormSize bodyPanelSize = DialogFormSize.Medium, bool NewInstance = false)
        {
            try
            {
                if (_instance == null || _instance.IsDisposed || (_instance != null && _instance.Visible) ||
                    NewInstance)
                {
                    _instance = new dlgForm(child, bodyPanelSize);
                }

                _instance.ShowDialog();
            }
            catch (Exception ex)
            {
                //ignore;
            }
        }