示例#1
0
        private void CreateRegions()
        {
            var documentRegion = new DarkDockRegion(this, DarkDockArea.Document);

            _regions.Add(DarkDockArea.Document, documentRegion);

            var leftRegion = new DarkDockRegion(this, DarkDockArea.Left);

            _regions.Add(DarkDockArea.Left, leftRegion);

            var rightRegion = new DarkDockRegion(this, DarkDockArea.Right);

            _regions.Add(DarkDockArea.Right, rightRegion);

            var bottomRegion = new DarkDockRegion(this, DarkDockArea.Bottom);

            _regions.Add(DarkDockArea.Bottom, bottomRegion);

            Controls.Add(documentRegion);
            Controls.Add(bottomRegion);
            Controls.Add(leftRegion);
            Controls.Add(rightRegion);

            documentRegion.TabIndex = 0;
            rightRegion.TabIndex    = 1;
            bottomRegion.TabIndex   = 2;
            leftRegion.TabIndex     = 3;
        }
示例#2
0
        public void AddContent(DarkDockContent dockContent, DarkDockGroup dockGroup)
        {
            if (_contents.Contains(dockContent))
            {
                RemoveContent(dockContent);
            }

            dockContent.DockPanel = this;
            _contents.Add(dockContent);

            if (dockGroup != null)
            {
                dockContent.DockArea = dockGroup.DockArea;
            }

            if (dockContent.DockArea == DarkDockArea.None)
            {
                dockContent.DockArea = dockContent.DefaultDockArea;
            }

            DarkDockRegion region = _regions[dockContent.DockArea];

            region.AddContent(dockContent, dockGroup);

            ContentAdded?.Invoke(this, new DockContentEventArgs(dockContent));

            if (_contents.Count == 1)
            {
                dockContent.Select();
            }
        }
示例#3
0
        internal DockDropArea(DarkDockPanel dockPanel, DarkDockRegion region)
        {
            DockPanel  = dockPanel;
            DockRegion = region;
            InsertType = DockInsertType.None;

            BuildAreas();
        }
示例#4
0
        public DarkDockGroup(DarkDockPanel dockPanel, DarkDockRegion dockRegion, int order)
        {
            SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.UserPaint, true);

            DockPanel  = dockPanel;
            DockRegion = dockRegion;
            DockArea   = dockRegion.DockArea;
            Order      = order;
            _tabArea   = new DarkDockTabArea(DockArea);
            DockPanel.ActiveContentChanged += DockPanel_ActiveContentChanged;
        }