创建或打开TabControl(CreateOrOpenTab)

2015-10-25 10:06:52  访问(2165) 赞(0) 踩(0)


        #region TabControl相关的操作

        /// <summary>
        /// 通过名称找到TabPage
        /// </summary>
        /// <param name="tb"></param>
        /// <param name="strName"></param>
        /// <returns></returns>
        public TabPage TabPageFind(TabControl tb, string strName)
        {
            foreach (TabPage tp in tb.TabPages)
            {
                if (tp.Name == strName)
                    return tp;
            }

            return null;
        }

        #endregion TabControl相关的操作



        /// <summary>
        /// 创建UserControl
        /// </summary>
        /// <param name="em"></param>
        /// <returns></returns>
        protected UserControl UcCreate(SlowX.CallCodeApp.Enums.CallCodeOper.EmCallCodeOper em)
        {
            switch (em)
            {
                case SlowX.CallCodeApp.Enums.CallCodeOper.EmCallCodeOper.生成接口调用代码:
                    return new TCodes.WebCall.MainList();
                case SlowX.CallCodeApp.Enums.CallCodeOper.EmCallCodeOper.创建ListView的索引:
                    return new ListViewCodes.ListViewGridIndex.MainList();
                case SlowX.CallCodeApp.Enums.CallCodeOper.EmCallCodeOper.DataSet生成ListView相关代码:
                    return new ListViewCodes.ToListViewColumn.MainList();
                default:

                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:"
                            + "枚举("
                            + em.GetType().FullName
                            + "."
                            + em.ToString()
                            + ")未知,对应的代码尚未实现。"
                        );

            }
        }


        /// <summary>
        /// 
        /// </summary>
        /// <param name="em"></param>
        protected void CreateOrOpenTab
            (
                SlowX.CallCodeApp.Enums.CallCodeOper.EmCallCodeOper em
            )
        {
            string strName = CommonName.TAB_ + ((int)em).ToString();

            TabPage tp = TabPageFind(tabControl1, strName);

            if (tp != null)
            {
                tabControl1.SelectedTab = tp;
                return;
            }

            tp = new TabPage();
            tp.Text = em.ToString();
            tp.Name = strName;

            tabControl1.TabPages.Add(tp);
            tabControl1.SelectedTab = tp;

            UserControl uc = UcCreate(em);

            if (uc is ICtrlItem)
            {
                (uc as ICtrlItem).SetHidden();
            }

            uc.Dock = DockStyle.Fill;
            tp.Controls.Add(uc);

        }


标签:创建或打开TabControl(CreateOrOpenTab) 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)