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

  • 相关阅读:
    让treeview控件的滚动条移动到顶部的位置
    用javascript 来将word 转成 html 更加简单,三行代码搞定
    在asp.net中,添加itemtempert 项模板时,如果在项模板里有其它控件,如何控件这些控件的属性?
    C#格式化数值结果表 数字的格式化输出
    直接创建一个XmlDocument文档
    实现 网页的 数据加载中.... 效果,很简单哦
    c#编写XML读写删改功能,算是比较全面的介绍XML操作的文章了。
    如何获取 电脑 的一些硬件信息。用于软件的加密等算法。
    关于正则表达式的使用一例。在Textbox 对话框内限制只能输入数字,如果输入出错,则清空内容。
    WPF中UI及时更新,如何在处理长时间工作时,保持界面的持续更新
  • 原文地址:https://www.cnblogs.com/Echo529/p/6382438.html
Copyright © 2011-2022 走看看