zoukankan      html  css  js  c++  java
  • [TabControl] TabControl控件的最佳实践,可以把一个窗体和用户控件添加进来

    看下效果吧
    <ignore_js_op> 
    下面是一个公共的添加方法
    看代码 

    [C#] 纯文本查看 复制代码
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    /// <summary>
            /// 添加一个选项卡
            /// </summary>
            /// <param name="MainTabControlKey">选项卡的键值</param>
            /// <param name="MainTabControlName">选项卡要显示的名称</param>
            /// <param name="objTabControl">要添加到的TabControl对象</param>
            /// <param name="objfrm">要被添加到选项卡的用户控件对象</param>
            private void addTabControl(string MainTabControlKey, string MainTabControlName, TabControl objTabControl, UserControl objfrm)
            {
                try
                {
                    if (ErgodicModiForm(MainTabControlKey, MainTabControl))
                    {
                        //声明一个选项卡对象
                        TabPage tabPage = new TabPage();
                        //选项卡的名称
                        tabPage.Name = MainTabControlKey;
                        //选项卡的文本
                        tabPage.Text = MainTabControlName;
                        //向选项卡集合添加新选项卡
                        MainTabControl.Controls.Add(tabPage);
                        //子窗体显示
                        objfrm.Show();
                        //子窗体大小设置为选项卡大小
                        objfrm.Size = tabPage.Size;
                        //将子窗体添加到选项卡中
                        tabPage.Controls.Add(objfrm);
                        //设置当前选项卡为新增选项卡
                        MainTabControl.SelectedTab.Name = MainTabControlKey;
                    }
                    else
                    {
                        //设为当前选中的选项
                        MainTabControl.SelectTab(MainTabControlKey);
                    }
                }
                catch (Exception)
                {
                    showMessages objshowMesages = new showMessages();
                    objshowMesages.ShowDialog("提示信息", "添加选项卡时出错,请检查是否正确连接数据");
                }
            }


    下面的验证方法ErgodicModiForm

    [C#] 纯文本查看 复制代码
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    /// </summary>
            /// <param name="MainTabControlKey">选项卡的键值</param>
            /// <param name="objTabControl">要添加到的TabControl对象</param>
            /// <returns></returns>
            private Boolean ErgodicModiForm(string MainTabControlKey, TabControl objTabControl)
            {
                //遍历选项卡判断是否存在该子窗体
                foreach (Control con in objTabControl.Controls)
                {
                    TabPage tab = (TabPage)con;
                    if (tab.Name == MainTabControlKey)
                    {
                        return false;//存在
                    }
                }
                return true;//不存在
            }



    下面的调用添加

    [C#] 纯文本查看 复制代码
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    try
                {
                    //声部门控件对象
                    UserDepartments objfrm = new UserDepartments();
                    //调用添加选项卡的方法
                    addTabControl("Departments", "部门信息", MainTabControl, objfrm);
                }
                catch (Exception)
                {
                    showMessages objshowMesages = new showMessages();
                    objshowMesages.ShowDialog("提示信息", "添加选项卡时出错,请检查是否正确连接数据");
                }


    这样就可以动态的添加了, 还可以删除

    try { MainTabControl.TabPages.Remove(MainTabControl.SelectedTab); } catch { showMessages objshowMesages = new showMessages(); objshowMesages.ShowDialog("提示信息", "已没有项目可删!"); }

    http://www.sufeinet.com/thread-66-1-1.html

  • 相关阅读:
    powerpc调试工具的使用
    微软的开发工具是我见过比较难用的
    Spring之jdbcTemplate:查询的三种方式(单个值、单个对象、对象集合)
    静态工厂方法和实例工厂方法
    理解.NET Framework
    .NET相关的概念简介
    二、文档工具 swagger
    Java Web学习(二)数据加密
    Java Web学习(一)Web基础
    Oracle学习(十二)标量函数
  • 原文地址:https://www.cnblogs.com/Echo529/p/6382438.html
Copyright © 2011-2022 走看看