XtraTabControl对Page页操作的一些公共方法

         /// <summary>
        /// 关闭tabcontrol的所有页
        /// </summary>
        /// <param name="tabControl"></param>
        public static void CloseAllTabPage(this XtraTabControl tabControl)
        {
            for (int i = tabControl.TabPages.Count - 1; i >= 0; i--)
            {
                tabControl.TabPages.RemoveAt(i);
            }
        }

        /// <summary>
        /// 关闭 tabcontrol除了选择页以外的其他所有页
        /// </summary>
        /// <param name="tabControl"></param>
        public static void CloseOtherTabPage(this XtraTabControl tabControl)
        {
            int exceptIndex = tabControl.SelectedTabPageIndex;
            for (int i = tabControl.TabPages.Count - 1; i >= 0; i--)
            {
                if (i != exceptIndex)
                {
                    tabControl.TabPages.RemoveAt(i);
                }
            }
        }
        /// <summary>
        /// 关闭tabcontrol的当前页
        /// </summary>
        /// <param name="tabControl"></param>
        public static void CloseCurrentTabPage(this XtraTabControl tabControl)
        {
            foreach (XtraTabPage page in tabControl.TabPages)
            {
                if (page.Name == tabControl.SelectedTabPage.Name)
                {
                    tabControl.TabPages.Remove(page);
                    page.Dispose();
                    return;
                }
            }
        }


        /// <summary>
        /// 判断是否在tabcontrol的PageHeader上右键单击
        /// </summary>
        /// <param name="tabControl"></param>
        /// <param name="e"></param>
        /// <returns></returns>
        public static bool IsRightClickInPageHeader(this XtraTabControl tabControl, MouseEventArgs e)
        {
            var info = tabControl.CalcHitInfo(e.Location);
            return e.Clicks == 1 && e.Button == MouseButtons.Right && info.HitTest == XtraTabHitTest.PageHeader;
        }
发布了36 篇原创文章 · 获赞 8 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_35351282/article/details/87873440