/// <summary>
        /// 插入操作按钮,
        /// </summary>
        /// <param name="ReferButtonName">参照按钮</param>
        /// <param name="Before">在操作按钮前插入还是在操作按钮后插入,默认在之前插入True</param>
        /// <param name="btn">按钮类</param>
        /// <param name="Authority">权限值</param>
        /// <param name="AuthorityName">权限名称,如果为空权限名称==按钮显示名称</param>
        /// <returns></returns>
        private BarItem InsertButton(string ReferButtonName, bool Before, RibbonItemButtonBase btn, int Authority, string AuthorityName = null)
        {
            BarItemLink Refer = GetButtonByName(ReferButtonName);

            if (String.IsNullOrEmpty(AuthorityName))
            {
                AuthorityName = btn.Caption;
            }
            BarItemLink bilink = gen.InsertBarItem(btn.name, btn.Caption, btn.LoadImage, Refer, Before);
            BarItem     bi     = bilink.Item;

            _Buttons.AddBtn(bilink);

            //if (btn.Shortcut != null && btn.Shortcut != Keys.None)
            if (btn.Shortcut != Keys.None)
            {
                bi.ItemShortcut = new DevExpress.XtraBars.BarShortcut(btn.Shortcut);
            }
            if (Authority > 0)
            {
                this.AuthorityAdd(bi, Authority, AuthorityName);
            }

            return(bi);
        }
        /// <summary>
        /// 添加操作按钮
        /// </summary>
        /// <param name="Caption">操作按钮名称</param>
        /// <param name="ImgName">操作按钮图片</param>
        /// <param name="Authority">操作对应的权限</param>
        /// <param name="AuthorityName">操作对应的权限名称,当为空时取Caption</param>
        private BarItem AddButton(RibbonItemButtonBase btn, int Authority, string AuthorityName = null)
        {
            if (String.IsNullOrEmpty(AuthorityName))
            {
                AuthorityName = btn.Caption;
            }
            BarItemLink bilink = gen.AddBarItem(btn.name, btn.Caption, btn.LoadImage);
            BarItem     bi     = bilink.Item;

            _Buttons.AddBtn(bilink);

            if (btn.Shortcut != Keys.None)
            {
                bi.ItemShortcut = new DevExpress.XtraBars.BarShortcut(btn.Shortcut);
            }
            if (Authority > 0)
            {
                this.AuthorityAdd(bi, Authority, AuthorityName);
            }

            return(bi);
        }
        protected void InsertAfterButton(string ReferButtonName, RibbonItemButtonBase btn, int Authority, string AuthorityName, ItemClickEventHandler DoClick)
        {
            var bi = InsertButton(ReferButtonName, false, btn, Authority, AuthorityName);

            bi.ItemClick += DoClick;
        }
        /// <summary>
        /// 添加按钮
        /// </summary>
        /// <param name="btn">按钮对象</param>
        /// <param name="Authority">权限,默认0</param>
        /// <param name="DoClick">事件绑定</param>
        protected void AddButton(RibbonItemButtonBase btn, int Authority, ItemClickEventHandler DoClick)
        {
            var bi = AddButton(btn, Authority, "");

            bi.ItemClick += DoClick;
        }