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

  • 相关阅读:
    名种样式的加入收藏和设为主页代码
    Android蓝牙UUID
    Discuz (1040) notconnect错误的解决办法
    IIS上配置404页面的图文教程
    C#操作excel(多种方法比较)
    Server Application Unavailable出现的原因及解决方案集锦
    怎么在google player下载apk
    apk反编译|android程序反编译
    discuz x2.5帖子无法访问|discuz x2.5 帖子报错500
    C#实现路由器断开连接,更改公网ip
  • 原文地址:https://www.cnblogs.com/Echo529/p/6382438.html
Copyright © 2011-2022 走看看