/// <summary> /// Create a document in the active document panel. /// </summary> public Control CreateDocument(WinForm.ServiceInterfaces.DockState dockState, string tabText, string metadata = "") { DockContent dockContent = new GenericDockContent(metadata); dockContent.DockAreas = DockAreas.Float | DockAreas.DockBottom | DockAreas.DockLeft | DockAreas.DockRight | DockAreas.DockTop | DockAreas.Document; dockContent.TabText = tabText; dockContent.Show(dockPanel, (WeifenLuo.WinFormsUI.Docking.DockState)dockState); dockContent.FormClosing += (sndr, args) => DocumentClosing.Fire(dockContent, EventArgs.Empty); return(dockContent); }
/// <summary> /// Create a document relative to specified pane, in a new container. /// </summary> public Control CreateDocument(Control pane, WinForm.ServiceInterfaces.DockAlignment dockAlignment, string tabText, string metadata = "", double portion = 0.25) { DockContent dockContent = new GenericDockContent(metadata); dockContent.DockAreas = DockAreas.Float | DockAreas.DockBottom | DockAreas.DockLeft | DockAreas.DockRight | DockAreas.DockTop | DockAreas.Document; dockContent.TabText = tabText; dockContent.Show(((DockContent)pane).Pane, (WeifenLuo.WinFormsUI.Docking.DockAlignment)dockAlignment, portion); dockContent.FormClosing += (sndr, args) => DocumentClosing.Fire(dockContent, EventArgs.Empty); return(dockContent); }
protected void LoadApplicationContent() { // ToList(), in case contents are modified while iterating. foreach (DockContent document in dockPanel.Contents.ToList()) { // For content loaded from a layout, we need to rewire FormClosing, since we didn't actually create the DockContent instance. document.FormClosing += (sndr, args) => DocumentClosing.Fire(document, EventArgs.Empty); ContentLoaded.Fire(this, new ContentLoadedEventArgs() { DockContent = document, Metadata = ((GenericDockContent)document).Metadata }); } //foreach (var window in dockPanel.FloatWindows.ToList()) //{ // window.Dispose(); //} //foreach (DockContent doc in dockPanel.Contents.ToList()) //{ // doc.DockHandler.DockPanel = null; // doc.Close(); //} }