ComponentFactory.Krypton.Docking.KryptonDockingEdgeAutoHidden.OnSlidePanelDisposed C# (CSharp) Method

OnSlidePanelDisposed() private method

private OnSlidePanelDisposed ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private void OnSlidePanelDisposed(object sender, EventArgs e)
        {
            // Unhook from events so the control can be garbage collected
            _slidePanel.SplitterMoveRect -= new EventHandler<SplitterMoveRectMenuArgs>(OnSlidePanelSeparatorMoveRect);
            _slidePanel.SplitterMoved -= new SplitterEventHandler(OnSlidePanelSeparatorMoved);
            _slidePanel.SplitterMoving -= new SplitterCancelEventHandler(OnSlidePanelSeparatorMoving);
            _slidePanel.PageCloseClicked -= new EventHandler<UniqueNameEventArgs>(OnSlidePanelPageCloseClicked);
            _slidePanel.PageAutoHiddenClicked -= new EventHandler<UniqueNameEventArgs>(OnSlidePanelPageAutoHiddenClicked);
            _slidePanel.PageDropDownClicked -= new EventHandler<CancelDropDownEventArgs>(OnSlidePanelPageDropDownClicked);
            _slidePanel.Disposed -= new EventHandler(OnPanelDisposed);

            // Events are generated from the parent docking manager
            KryptonDockingManager dockingManager = DockingManager;
            if (dockingManager != null)
            {
                // Only generate the removed event if we have already fired the adding event.
                if (_panelEventFired)
                {
                    DockspaceEventArgs dockspaceArgs = new DockspaceEventArgs(_slidePanel.DockspaceControl, null);
                    DockspaceSeparatorEventArgs separatorArgs = new DockspaceSeparatorEventArgs(_slidePanel.SeparatorControl, null);
                    dockingManager.RaiseDockspaceRemoved(dockspaceArgs);
                    dockingManager.RaiseDockspaceSeparatorRemoved(separatorArgs);
                }
            }

            // Make sure the groups panel is also disposed
            if (!_panel.IsDisposed)
                _panel.Dispose();
        }