Пример #1
0
        private void CreateLeftDockedBars()
        {
            // Dock first two bars side by side and dock third bar next to them...
            Bar bar = new Bar("Bar1");

            bar.Name                  = "leftBar1";
            bar.LayoutType            = eLayoutType.DockContainer; // Dock Container Layout needed for dockable windows
            bar.Stretch               = true;                      // Dockable windows stretch to fill container
            bar.AutoHideAnimationTime = 0;                         // Some controls do not support animation so turn it off
            bar.GrabHandleStyle       = eGrabHandleStyle.Caption;  // Dockable Windows have captions
            bar.CanHide               = true;
            // Create DockContainerItem for the bar. The item should be added before the bar is docked.
            DockContainerItem dockItem = new DockContainerItem("leftDockItem1", "Top Left Dock Container");

            bar.Items.Add(dockItem);
            // Create control that is hosted on dock container
            UserControl1 dockedControl = new UserControl1();

            dockedControl.label1.Text = bar.Name + " - " + dockItem.Text;
            dockedControl.BackColor   = Color.Khaki;
            dockItem.Control          = dockedControl;                       // Specify that control is hosted on the dock container
            dotNetBarManager1.Bars.Add(bar);                                 // DotNetBar needs to be aware of the bar so it can manage it's docking etc.
            dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar); //Performs actual docking of the Bar to the specified dock site
            dockItem.Width = 128;                                            // Specify Width of dock container item after it is docked

            // Create second bar and dock it below the first bar but still on the same line
            Bar bar2 = new Bar("Bar2");

            bar2.Name                  = "leftBar2";
            bar2.LayoutType            = eLayoutType.DockContainer; // Dock Container Layout needed for dockable windows
            bar2.AutoHideAnimationTime = 0;                         // Some controls do not support animation so turn it off
            bar2.Stretch               = true;                      // Dockable windows stretch to fill container
            bar2.CanHide               = true;
            bar2.GrabHandleStyle       = eGrabHandleStyle.Caption;  // Dockable Windows have captions
            // Add new Dock Container to the bar, should be done before adding the bar so size can be calculated properly
            dockItem = new DockContainerItem("leftDockItem2", "Bottom Left Dock Container");
            bar2.Items.Add(dockItem);
            // Create control that is hosted on dock container
            dockedControl             = new UserControl1();
            dockedControl.label1.Text = bar.Name + " - " + dockItem.Text;
            dockedControl.BackColor   = Color.Lavender;
            dockItem.Control          = dockedControl;                                               // Specify that control is hosted on the dock container
            dotNetBarManager1.Bars.Add(bar2);                                                        // DotNetBar needs to be aware of the bar so it can manage it's docking etc.
            dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar, bar2, eDockSide.Bottom); // Dock new bar2 below the bar that we created previously

            // Create third bar that is docked next to the first and second
            // i.e. on the line 1
            bar                       = new Bar("Bar3");
            bar.Name                  = "leftBar3";
            bar.LayoutType            = eLayoutType.DockContainer; // Dock Container Layout needed for dockable windows
            bar.AutoHideAnimationTime = 0;                         // Some controls do not support animation so turn it off
            bar.Stretch               = true;                      // Dockable windows stretch to fill container
            bar.CanHide               = true;
            bar.GrabHandleStyle       = eGrabHandleStyle.Caption;  // Dockable Windows have captions
            dockItem                  = new DockContainerItem("leftDockItem3", "Left Dock Container line 1");
            bar.Items.Add(dockItem);
            // Create control that is hosted on dock container
            dockedControl             = new UserControl1();
            dockedControl.label1.Text = bar.Name + " - " + dockItem.Text;
            dockedControl.BackColor   = Color.LemonChiffon;
            dockItem.Control          = dockedControl;  // Specify that control is hosted on the dock container
            dotNetBarManager1.Bars.Add(bar);            // DotNetBar needs to be aware of the bar so it can manage it's docking etc.
            dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar);

            // Setting the width of the dock site will also scale the bars docked inside,
            // however the size should be large enough to accomodate all bars including the constraints like MinimumSize etc.
            dotNetBarManager1.LeftDockSite.Width = 150;
        }