This size value does not necessarily equal the size actually used to display the pane. The DisplaySize property indicates the size at which the pane is currently displayed. The ratio of the Size properties of the child panes is used to determine the actual size of each pane.
it is neccesary to maintain two different size settings for each pane because of the way pane sizes are adjusted when one or more panes are hidden or pinned. For example, suppose there are two panes occupying a specific dock area and that the first one is one-third the width of the available space, with the second occupying the remaining two-thirds. If the second pane is hidden, the first (narrower) pane expands to fill the available space. Now suppose the second pane is unhidden. If the original size of each pane were not preserved in some way, there would be no way to restore the original proportions of the panes.
To solve this problem, the size of each pane is stored in two places. The Size property records the size of the pane and its proportion to other panes in a docking area. This information is preserved if the pane is hidden. It is only changed when the pane is resized. The DisplaySize property is used to indicate the actual size of a pane at any given time. Each time the pane changes size on the screen, the value of DisplaySize changes.
Note that the pane size preserved by the Size property is used to determine size ratios, and may or may not be used for the actual size of the pane. Continuing the example above, suppose that after the pane is hidden, the docking area is resized to half its width. When the pane is unhidden, the Size property is used to restore the original 1/3 to 2/3 proportions of the panes, although neither pane will be returned to the actual dimensions used when the two panes were originally displayed.
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinDock Private Sub CreateDockManagerPanes(ByVal manager As UltraDockManager) ' this code assumes that there is a treeview (treeview1), ' listview (listview1) and rich textbox (richtext1) on ' the form ' create control panes to contain the listview ' and tree view Dim paneTree As DockableControlPane = New DockableControlPane("tree", "MS Treeview", Me.treeView1) Dim paneList As DockableControlPane = New DockableControlPane() paneList.Key = "list" paneList.Text = "MS Listview" paneList.Control = Me.listView1 ' create a dock area to contain the control panes Dim dockAreaLeft As DockAreaPane = New DockAreaPane(DockedLocation.DockedLeft) ' add the control panes to the dock area dockAreaLeft.Panes.Add(paneTree) dockAreaLeft.Panes.Add(paneList) ' display the panes in a tab group dockAreaLeft.ChildPaneStyle = ChildPaneStyle.TabGroup ' initialize the size of the dock area dockAreaLeft.Size = New Size(200, 200) ' let the tabs autosize to the tab caption dockAreaLeft.GroupSettings.TabSizing = Infragistics.Win.UltraWinTabs.TabSizing.AutoSize ' unpin the panes dockAreaLeft.Unpin() ' now create the control pane to contain the richtext Dim paneText As DockableControlPane = New DockableControlPane("text", "MS RichText", Me.richTextBox1) ' create a dock area on the right to contain the rich text Dim dockAreaFloat As DockAreaPane = New DockAreaPane(DockedLocation.DockedRight) ' initialize the size of the dock area dockAreaFloat.Size = New Size(120, 200) ' contain the rich text pane in the dock area dockAreaFloat.Panes.Add(paneText) ' finally, add the dock areas to the dock manager manager.DockAreas.AddRange( _ New DockAreaPane() {dockAreaLeft, dockAreaFloat}) ' float the rich text dock area but give it a different ' floating size dockAreaFloat.Float(False, New Rectangle(400, 400, 200, 150)) End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinDock; using System.Diagnostics; private void CreateDockManagerPanes( UltraDockManager manager ) { // this code assumes that there is a treeview (treeview1), // listview (listview1) and rich textbox (richtext1) on // the form // create control panes to contain the listview // and tree view DockableControlPane paneTree = new DockableControlPane("tree", "MS Treeview", this.treeView1); DockableControlPane paneList = new DockableControlPane(); paneList.Key = "list"; paneList.Text = "MS Listview"; paneList.Control = this.listView1; // create a dock area to contain the control panes DockAreaPane dockAreaLeft = new DockAreaPane(DockedLocation.DockedLeft); // add the control panes to the dock area dockAreaLeft.Panes.Add( paneTree ); dockAreaLeft.Panes.Add( paneList ); // display the panes in a tab group dockAreaLeft.ChildPaneStyle = ChildPaneStyle.TabGroup; // initialize the size of the dock area dockAreaLeft.Size = new Size(200, 200); // let the tabs autosize to the tab caption dockAreaLeft.GroupSettings.TabSizing = Infragistics.Win.UltraWinTabs.TabSizing.AutoSize; // unpin the panes dockAreaLeft.Unpin(); // now create the control pane to contain the richtext DockableControlPane paneText = new DockableControlPane("text", "MS RichText", this.richTextBox1); // create a dock area on the right to contain the rich text DockAreaPane dockAreaFloat = new DockAreaPane(DockedLocation.DockedRight); // initialize the size of the dock area dockAreaFloat.Size = new Size(120, 200); // contain the rich text pane in the dock area dockAreaFloat.Panes.Add( paneText ); // finally, add the dock areas to the dock manager manager.DockAreas.AddRange( new DockAreaPane[] { dockAreaLeft, dockAreaFloat } ); // float the rich text dock area but give it a different // floating size dockAreaFloat.Float(false, new Rectangle(400, 400, 200, 150)); }
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2