/*
         * OnDragLeave
         */

        /// <summary>
        /// Called when a drag-and-drop operation leaves the control designer view.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs"></see> that provides data for the event.</param>
        protected override void OnDragLeave(EventArgs e)
        {
            NuGenNavigationPaneDesigner designer = this.GetSelectedNavigationPaneDesigner();

            if (designer != null)
            {
                designer.DoDragLeave(e);
            }
            else
            {
                base.OnDragLeave(e);
            }
        }
        /*
         * OnGiveFeedback
         */

        /// <summary>
        /// Receives a call when a drag-and-drop operation is in progress to provide visual cues based on the location of the mouse while a drag operation is in progress.
        /// </summary>
        /// <param name="e">A <see cref="T:System.Windows.Forms.GiveFeedbackEventArgs"></see> that provides data for the event.</param>
        protected override void OnGiveFeedback(GiveFeedbackEventArgs e)
        {
            NuGenNavigationPaneDesigner designer = this.GetSelectedNavigationPaneDesigner();

            if (designer != null)
            {
                designer.DoGiveFeedback(e);
            }
            else
            {
                base.OnGiveFeedback(e);
            }
        }
        /*
         * GetSelectedNavigationPaneDesigner
         */

        /// <summary>
        /// </summary>
        protected NuGenNavigationPaneDesigner GetSelectedNavigationPaneDesigner()
        {
            NuGenNavigationPaneDesigner navigationPaneDesigner = null;
            NuGenNavigationPane         selectedNavigationPane = _navigationBar.SelectedNavigationPane;

            if (selectedNavigationPane != null)
            {
                IDesignerHost host = (IDesignerHost)this.GetService(typeof(IDesignerHost));

                if (host != null)
                {
                    navigationPaneDesigner = host.GetDesigner(selectedNavigationPane) as NuGenNavigationPaneDesigner;
                }
            }

            return(navigationPaneDesigner);
        }