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; }
public void DockTo(IDockableContainer target, DockStyles orientation) { throw new Exception("A DockContainerForm may only be the target of docking operations, not the source."); }
public void DockTo(IDockableContainer target, DockStyles orientation) { throw new Exception("The method or operation is not implemented."); }
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); }