protected void NeighInitialized(DockNeigh neigh)
 {
     neigh.NeighPaneAdded += new EventHandler(Neigh_NeighPaneAdded);
     neigh.NeighPaneRemoved += new EventHandler(Neigh_NeighPaneRemoved);
     neigh.PaneAdded += new DockEventHandler(DockPane_PaneAdded);
 }
        public void Remove()
        {
            if (Parent == null)
                return;
            var e = new CancelEventArgs();
            OnRemoving(e);
            if (e.Cancel)
                return;

            if (Neigh.Owner.Panes.Count > 1)
            {
                var succeedingDireWhenDeletingPane = _neigh.GetSucceedingDireWhenDeletingPane();
                switch (succeedingDireWhenDeletingPane)
                {
                    case DockDirection.Top:
                    case DockDirection.Bottom:
                        MoveSplitter(succeedingDireWhenDeletingPane, -Height);
                        break;

                    case DockDirection.Left:
                    case DockDirection.Right:
                        MoveSplitter(succeedingDireWhenDeletingPane, -Width);
                        break;
                }
            }
            Neigh.Clear();
            _neigh = DockNeigh.InitializeNeigh(this, null);
            OnRemoved(new EventArgs());
        }