public void SetBottomRegion(IDockableContainer child)
        {
            if (child == null)
            {
                throw new ArgumentNullException(nameof(child));
            }

            if (child.Parent != null)
            {
                throw new InvalidOperationException();
            }

            BottomRegion        = child;
            BottomRegion.Parent = this;
        }
Пример #2
0
 public void DockTo(IDockableContainer target, DockStyles orientation)
 {
     throw new Exception("A DockContainerForm may only be the target of docking operations, not the source.");
 }
Пример #3
0
 public void DockTo(IDockableContainer target, DockStyles orientation)
 {
     throw new Exception("The method or operation is not implemented.");
 }
Пример #4
0
        public void DockTo(IDockableContainer target, DockStyles orientation)
        {
            DockTabGroup containerControl;
            this.Undock();
            this.DockStyle = orientation;
            DockSplitter splitter = null;
            if ((orientation != DockStyles.Tabbed) && (target.DockStyle == DockStyles.Tabbed))
            {
                target = target.ContainerControl as IDockableContainer;
            }
            switch (orientation)
            {
                case DockStyles.Left:
                    splitter = new DockSplitter(Orientation.Vertical);
                    target.ContainerControl.Controls.Remove(target as Control);
                    target.ContainerControl.Controls.Add(splitter);
                    target.ContainerControl = splitter.Panel2;
                    splitter.Panel2.Controls.Add(target as Control);
                    this.ContainerControl = splitter.Panel1;
                    splitter.Panel1.Controls.Add(this);
                    target.DockStyle = DockStyles.Right;
                    goto Label_02B7;

                case DockStyles.Right:
                    splitter = new DockSplitter(Orientation.Vertical);
                    target.ContainerControl.Controls.Remove(target as Control);
                    target.ContainerControl.Controls.Add(splitter);
                    target.ContainerControl = splitter.Panel1;
                    splitter.Panel1.Controls.Add(target as Control);
                    this.ContainerControl = splitter.Panel2;
                    splitter.Panel2.Controls.Add(this);
                    target.DockStyle = DockStyles.Left;
                    goto Label_02B7;

                case DockStyles.Top:
                    splitter = new DockSplitter(Orientation.Horizontal);
                    target.ContainerControl.Controls.Remove(target as Control);
                    target.ContainerControl.Controls.Add(splitter);
                    target.ContainerControl = splitter.Panel2;
                    splitter.Panel2.Controls.Add(target as Control);
                    this.ContainerControl = splitter.Panel1;
                    splitter.Panel1.Controls.Add(this);
                    target.DockStyle = DockStyles.Bottom;
                    goto Label_02B7;

                case DockStyles.Bottom:
                    splitter = new DockSplitter(Orientation.Horizontal);
                    target.ContainerControl.Controls.Remove(target as Control);
                    target.ContainerControl.Controls.Add(splitter);
                    target.ContainerControl = splitter.Panel1;
                    splitter.Panel1.Controls.Add(target as Control);
                    this.ContainerControl = splitter.Panel2;
                    splitter.Panel2.Controls.Add(this);
                    target.DockStyle = DockStyles.Top;
                    goto Label_02B7;

                case DockStyles.Tabbed:
                    if (target.DockStyle != DockStyles.Tabbed)
                    {
                        containerControl = new DockTabGroup(TabOrientations.Bottom);
                        containerControl.ContainerForm = target.ContainerForm;
                        containerControl.AddTab(target as DockPanel);
                        containerControl.ContainerControl = target.ContainerControl;
                        target.ContainerControl.Controls.Remove(target as Control);
                        target.ContainerControl.Controls.Add(containerControl);
                        target.ContainerControl = containerControl;
                        break;
                    }
                    containerControl = target.ContainerControl as DockTabGroup;
                    break;

                default:
                    goto Label_02B7;
            }
            containerControl.AddTab(this);
            this.ContainerControl = containerControl;
            target.DockStyle = DockStyles.Tabbed;
        Label_02B7:
            this.ContainerForm = target.ContainerForm;
            this.ContainerForm.OnDocked(this);
        }