protected override void OnMouseDown(MouseEventArgs e)
        {
            bool bVisible = this.owner.BaseItems.Count > 0;

            if (bVisible)
            {
                IImageBoxItem pImageItem;
                this.m_CustomizeQuickAccessToolbar.BaseItems.Clear();
                foreach (BaseItem one in this.owner.BaseItems)
                {
                    ISeparatorItem pSeparatorItem = one as ISeparatorItem;
                    if (pSeparatorItem != null && pSeparatorItem.AutoLayout)
                    {
                        this.m_CustomizeQuickAccessToolbar.BaseItems.Add(new GISShare.Controls.WinForm.WFNew.SeparatorItem());
                    }
                    else
                    {
                        CheckButtonItem item = new CheckButtonItem();
                        item.Name            = one.Name;
                        item.Text            = (one.Text == null || one.Text.Length <= 0) ? GISShare.Controls.WinForm.WFNew.Language.LanguageStrategy.CustomizeItemNotNamedText : one.Text;
                        item.Checked         = one.Visible;
                        item.Tag             = one;
                        item.eImageSizeStyle = ImageSizeStyle.eSystem;
                        pImageItem           = one as IImageBoxItem;
                        if (pImageItem != null)
                        {
                            item.Image = pImageItem.Image;
                        }
                        item.CheckedChanged += new EventHandler(Item_CheckedChanged);
                        this.m_CustomizeQuickAccessToolbar.BaseItems.Add(item);
                    }
                }
            }
            this.BaseItems[3].Visible = bVisible;
            this.m_CustomizeQuickAccessToolbar.Visible = bVisible;
            //
            IRibbonControl pRibbonControl = this.owner.pOwner as IRibbonControl;

            if (pRibbonControl == null)
            {
                return;
            }
            this.m_TopOrBottomViewQuickAccessToolbar.Name = pRibbonControl.IsTopToolbar ? GISShare.Controls.WinForm.WFNew.Language.LanguageStrategy.BottomViewQuickAccessToolbarText : GISShare.Controls.WinForm.WFNew.Language.LanguageStrategy.TopViewQuickAccessToolbarText;
            this.m_TopOrBottomViewQuickAccessToolbar.Text = this.m_TopOrBottomViewQuickAccessToolbar.Name;
            this.m_DisplayOrHideRibbonPageContainer.Name  = pRibbonControl.HideRibbonPage ? GISShare.Controls.WinForm.WFNew.Language.LanguageStrategy.DisplayRibbonPageContainerText : GISShare.Controls.WinForm.WFNew.Language.LanguageStrategy.HideRibbonPageContainerText;
            this.m_DisplayOrHideRibbonPageContainer.Text  = this.m_DisplayOrHideRibbonPageContainer.Name;
            //
            base.OnMouseDown(e);
        }
        void Item_CheckedChanged(object sender, EventArgs e)
        {
            CheckButtonItem ribbonCheckButtonItem = sender as CheckButtonItem;

            if (ribbonCheckButtonItem == null)
            {
                return;
            }
            BaseItem baseItem = ribbonCheckButtonItem.Tag as BaseItem;

            if (baseItem == null)
            {
                return;
            }
            baseItem.Visible = ribbonCheckButtonItem.Checked;
        }
        //public CheckButtonItem(GISShare.Controls.Plugin.WFNew.ICheckButtonItemP pBaseItemP)
        //{
        //    //IPlugin
        //    this.Name = pBaseItemP.Name;
        //    //ISetEntityObject
        //    GISShare.Controls.Plugin.ISetEntityObject pSetEntityObject = pBaseItemP as GISShare.Controls.Plugin.ISetEntityObject;
        //    if (pSetEntityObject != null) pSetEntityObject.SetEntityObject(this);
        //    //IBaseItemP_
        //    this.Checked = pBaseItemP.Checked;
        //    this.Enabled = pBaseItemP.Enabled;
        //    this.Font = pBaseItemP.Font;
        //    this.ForeColor = pBaseItemP.ForeColor;
        //    this.LockHeight = pBaseItemP.LockHeight;
        //    this.LockWith = pBaseItemP.LockWith;
        //    this.Padding = pBaseItemP.Padding;
        //    this.Size = pBaseItemP.Size;
        //    this.Text = pBaseItemP.Text;
        //    this.Visible = pBaseItemP.Visible;
        //    this.Category = pBaseItemP.Category;
        //    this.MinimumSize = pBaseItemP.MinimumSize;
        //    this.UsingViewOverflow = pBaseItemP.UsingViewOverflow;
        //    //ILabelItemP
        //    this.TextAlign = pBaseItemP.TextAlign;
        //    //IImageBoxItemP
        //    this.eImageSizeStyle = pBaseItemP.eImageSizeStyle;
        //    this.Image = pBaseItemP.Image;
        //    this.ImageAlign = pBaseItemP.ImageAlign;
        //    this.ImageSize = pBaseItemP.ImageSize;
        //    //IImageLabelItemP
        //    this.AutoPlanTextRectangle = pBaseItemP.AutoPlanTextRectangle;
        //    this.ITSpace = pBaseItemP.ITSpace;
        //    this.eDisplayStyle = pBaseItemP.eDisplayStyle;
        //    //IBaseButtonItemP
        //    this.LeftBottomRadius = pBaseItemP.LeftBottomRadius;
        //    this.LeftTopRadius = pBaseItemP.LeftTopRadius;
        //    this.RightBottomRadius = pBaseItemP.RightBottomRadius;
        //    this.RightTopRadius = pBaseItemP.RightTopRadius;
        //    this.ShowNomalState = pBaseItemP.ShowNomalState;
        //}
        #endregion

        #region Clone
        public override object Clone()
        {
            CheckButtonItem baseItem = new CheckButtonItem();

            baseItem.Checked           = this.Checked;
            baseItem.Enabled           = this.Enabled;
            baseItem.Font              = this.Font;
            baseItem.ForeColor         = this.ForeColor;
            baseItem.Name              = this.Name;
            baseItem.Site              = this.Site;
            baseItem.Size              = this.Size;
            baseItem.Tag               = this.Tag;
            baseItem.Text              = this.Text;
            baseItem.eDisplayStyle     = this.eDisplayStyle;
            baseItem.eImageSizeStyle   = this.eImageSizeStyle;
            baseItem.Image             = this.Image;
            baseItem.ImageAlign        = this.ImageAlign;
            baseItem.ImageSize         = this.ImageSize;
            baseItem.LeftBottomRadius  = this.LeftBottomRadius;
            baseItem.LeftTopRadius     = this.LeftTopRadius;
            baseItem.Padding           = this.Padding;
            baseItem.RightBottomRadius = this.RightBottomRadius;
            baseItem.RightTopRadius    = this.RightTopRadius;
            baseItem.ShowNomalState    = this.ShowNomalState;
            baseItem.TextAlign         = this.TextAlign;
            baseItem.TextLeftSpace     = this.TextLeftSpace;
            baseItem.TextRightSpace    = this.TextRightSpace;
            baseItem.Visible           = this.Visible;
            if (this.GetEventState("VisibleChanged") == EventStateStyle.eUsed)
            {
                baseItem.VisibleChanged += new EventHandler(baseItem_VisibleChanged);
            }
            if (this.GetEventState("SizeChanged") == EventStateStyle.eUsed)
            {
                baseItem.SizeChanged += new EventHandler(baseItem_SizeChanged);
            }
            if (this.GetEventState("Paint") == EventStateStyle.eUsed)
            {
                baseItem.Paint += new PaintEventHandler(baseItem_Paint);
            }
            if (this.GetEventState("MouseUp") == EventStateStyle.eUsed)
            {
                baseItem.MouseUp += new MouseEventHandler(baseItem_MouseUp);
            }
            if (this.GetEventState("MouseMove") == EventStateStyle.eUsed)
            {
                baseItem.MouseMove += new MouseEventHandler(baseItem_MouseMove);
            }
            if (this.GetEventState("MouseLeave") == EventStateStyle.eUsed)
            {
                baseItem.MouseLeave += new EventHandler(baseItem_MouseLeave);
            }
            if (this.GetEventState("MouseEnter") == EventStateStyle.eUsed)
            {
                baseItem.MouseEnter += new EventHandler(baseItem_MouseEnter);
            }
            if (this.GetEventState("MouseDown") == EventStateStyle.eUsed)
            {
                baseItem.MouseDown += new MouseEventHandler(baseItem_MouseDown);
            }
            if (this.GetEventState("MouseDoubleClick") == EventStateStyle.eUsed)
            {
                baseItem.MouseDoubleClick += new MouseEventHandler(baseItem_MouseDoubleClick);
            }
            if (this.GetEventState("MouseClick") == EventStateStyle.eUsed)
            {
                baseItem.MouseClick += new MouseEventHandler(baseItem_MouseClick);
            }
            if (this.GetEventState("LocationChanged") == EventStateStyle.eUsed)
            {
                baseItem.LocationChanged += new EventHandler(baseItem_LocationChanged);
            }
            if (this.GetEventState("EnabledChanged") == EventStateStyle.eUsed)
            {
                baseItem.EnabledChanged += new EventHandler(baseItem_EnabledChanged);
            }
            if (this.GetEventState("CheckedChanged") == EventStateStyle.eUsed)
            {
                baseItem.CheckedChanged += new EventHandler(baseItem_CheckedChanged);
            }
            return(baseItem);
        }