//-------------------------------------------------------------------
        public void AfterAdd(ControlContainerSplitter _split)
        {
            if (_split == null)
            {
                return;
            }

            if (SplitterDistance >= _split.Panel1MinSize && SplitterDistance <= _split.Width - _split.Panel2MinSize)
            {
                _split.SplitterDistance = SplitterDistance;
            }

            if (_split.Panel1.Controls.Count == 1)
            {
                if (Panel1SplitterDesc != null)
                {
                    ControlContainerSplitter split = _split.Panel1.Controls[0] as ControlContainerSplitter;
                    Panel1SplitterDesc.AfterAdd(split);
                }
            }

            if (_split.Panel2.Controls.Count == 1)
            {
                if (Panel2SplitterDesc != null)
                {
                    ControlContainerSplitter split = _split.Panel2.Controls[0] as ControlContainerSplitter;
                    Panel2SplitterDesc.AfterAdd(split);
                }
            }
        }
        //-------------------------------------------------------------------
        public ControlContainerSplitter Rebuild()
        {
            ControlContainerSplitter split = new ControlContainerSplitter
            {
                Dock        = DockStyle.Fill,
                Orientation = Orientation
            };

            if (Panel1SplitterDesc != null)
            {
                split.Panel1.Controls.Add(Panel1SplitterDesc.Rebuild());
            }
            else if (Panel1TabDesc != null)
            {
                split.Panel1.Controls.Add(Panel1TabDesc.Rebuild());
            }

            if (Panel2SplitterDesc != null)
            {
                split.Panel2.Controls.Add(Panel2SplitterDesc.Rebuild());
            }
            else if (Panel2TabDesc != null)
            {
                split.Panel2.Controls.Add(Panel2TabDesc.Rebuild());
            }

            split.SplitterDistance = SplitterDistance;

            return(split);
        }