• [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

  • 相关阅读:
    爱情五十三课,爱情银行
    [技术][JavaScript] <<JQuery 实战(Jquery in Action)>> Bear Bibeault & Yehuda Katz(美)
    [生活][健康] <<点食成金>> 范志红
    专一不是一辈子只喜欢一个人,是喜欢一个人的时候一心一意。
    【生活智慧】001.追求实在的东西
    【生活智慧】002.以上帝的"特选子民"自居
    【生活智慧】003.不能为了一顿鸡鸭鱼肉而让其他日子挨饿
    爱情五十四课,最需要的一刻
    爱情五十课,牵手的力量
    爱情五十五课,选择可以承担的
  • 原文地址:https://www.cnblogs.com/Echo529/p/6382438.html
Copyright © 2020-2023  润新知