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

  • 相关阅读:
    待写
    让一个小div在另一个大div里面 垂直居中的四种方法
    20 个有用的 SVG 工具,提供更好的图像处理
    php原理简述
    Apache 打开网页的时候等待时间过长的解决方案
    TCP协议中的三次握手和四次挥手(图解)
    apache 各平台进程线程模块解析
    浅谈移动Web开发(上):深入概念
    响应式布局
    jQuery Mobile 入门教程
  • 原文地址:https://www.cnblogs.com/Echo529/p/6382438.html
Copyright © 2011-2022 走看看