在Winform中,标签页是我们很难绕开的一个控件,而且,我们经常有动态添加标签页的需求。

这里介绍一个最简单的添加方法:

首先,我们把需要添加的内容做成UserControl,这样,我们就可以在添加的时候不用考虑布局的问题了,所有的内容都在UserControl里,

这里我们假定有一个TestControl已经写好了对应的UI内容。

编写以下代码:

TabPage tabPage = new TabPage("添加新Tab");
TestControl testControl = new TestControl();
testControl.Dock = DockStyle.Fill;
testControl.Parent = tabPage;
tabControl1.TabPages.Add(tabPage);

即可添加一个新的标签页。

这里简单解释一下里面的代码。

TabPage有一个重载,可以直接将tab的标题放进去。所以我们新建的标签页名字就叫 添加新Tab。

然后我们设置了一下TestControlDockDock.Fill。这样我们的TestControl就可以一直充满整个TabPage

然后设置testControlParent为我们的tabPage,这一句是关键,设置了Parent以后,我们的自定义控件有了父控件,就知道应该显示在哪里了。

最后我们把TabPage添加到TabControl里即可。

Winform TabControl动态添加TabPage的更多相关文章

  1. Tabcontrol动态添加TabPage(获取或设置当前选项卡及其属性)

    http://blog.csdn.net/xiongxyt2/article/details/6920575 •MultiLine 属性用true 或false来确定是否可以多行显示 •Appeara ...

  2. C# Winform TabControl 双击关闭TabPage

    在使用TabControl控件时,需要考虑自动创建的TabPage页实现——关闭功能 思路一:自定义TabControl控件,添加关闭按钮 思路二:TabControl控件TabPage显示ToolT ...

  3. 转 DevExpress-ASPxPageControl 动态添加 TabPage 内容

    话不多说想看代码,在细说. 前台,很简单.主要看后台 </dx:ASPxPageControl> 后台,注意注释说明. private void GetUserAttendCellsNew ...

  4. WinForm中动态添加控件 出现事件混乱,解决办法记录。

    还是在抢票软件中出的问题,我没点击一个联系人,要生成一排控件,其中有席别combobox这样的下拉框控件,会出现如下图所示的问题:问题描述:在代码中动态创建的控件,事件混乱了,一个控件触发了所有同类型 ...

  5. 20180706001 - 动态添加 tabPage

    //        public TabPage Add(Form form, string str_frm_name)        {            form.Visible = true ...

  6. WinForm DotNetBar 动态添加DataGridView

    DataGridView dgv = new DataGridView(); dgv.Dock = DockStyle.Fill; dgv.Location = new System.Drawing. ...

  7. winform导入导出excel,后台动态添加控件

    思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...

  8. 通过源码了解ASP.NET MVC 几种Filter的执行过程 在Winform中菜单动态添加“最近使用文件”

    通过源码了解ASP.NET MVC 几种Filter的执行过程   一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神 ...

  9. winform窗体传值和动态添加控件

    1.跳转窗体时传值 //将要显示的页面实例化 RoleMenuForm rmf = new RoleMenuForm(); try { //在此给RoleMenuForm 窗体中的变量roleId传值 ...

  10. winform中动态生成多行label,同时添加滚动条

    设计思路大概是这样的,Form内添加一个groupBox,groupBox内添加一个panel,panel的属性AutoScroll=true,在panel内动态添加label. 原始From如下: ...

随机推荐

  1. vue单元测试

    0.测试钩子函数 describe的钩子函数 在测试块describe中,存在这四个钩子函数,他会在describe执行的不同时期调用: before():在该区块的所有测试用例之前执行 after( ...

  2. 【题目全解】ACGO排位赛#12

    ACGO 排位赛#12 - 题目解析 别问为什么没有挑战赛#11,因为挑战赛#11被贪心的 Yuilice 吃掉了(不是). 本次挑战赛难度相比较前面几次有所提升. 爆料:小鱼现在已经入职了研发部门, ...

  3. PDF解析,还能做得更好

    随着大模型文档智能应用逐渐步入正轨,文档解析类产品成为其中重要的一环.文档解析工具能够"唤醒"沉睡在PDF文件中的知识,将其转化为机器能够识别.读取的信息,将可用数据从txt.cs ...

  4. Angular 学习笔记 (Typescript 版本更新)

    记入每一期我会用到的功能 : v4.3  1. getter setter 的类型可以不一样咯, 这个困扰很久了.  (interface, object, class 都可以这样用) class T ...

  5. 线段树 transformation——hdu 4578

    问题描述: 给定一个数列,数列中所有元素都初始化为0,对其执行多种区间操作 操作1:add修改:对区间[L,R]内的所有数加c 操作2:multi修改:对区间[L,R]内所有数乘以c 操作3:chan ...

  6. Project: Kill e

    接到上级任务,今天来暗杀 \(e\) 据说杀死 \(e\) 的方式就是把他算出来,好吧,现在我们还是来算一下 考虑使用如下代数式求解 \[e\ \text{site:baidu.com} \] 虽然我 ...

  7. 4.2.2 等差数列的前n项和公式

    ${\color{Red}{欢迎到学科网下载资料学习 }}$ [ [基础过关系列]高二数学同步精品讲义与分层练习(人教A版2019)] ( https://www.zxxk.com/docpack/2 ...

  8. 三维医学图像数据扩充:flip and rotate

    对于小数据量医学图像进行深度学习使,会由于数据量过小而过拟合.因此我们需要采用数据扩充方法,而flip和rotate又是经常用到的,这里做一个简单的实现. 输入为[batchsize,height, ...

  9. 云原生周刊:Docker大涨价|2024.10.8

    开源项目推荐 Kubeshark 如果把 K8s 比作操作系统,那它就是 K8s 上的 tcpdump,使用起来就像 Chrome 开发者工具一样简单直接,能够让 K8s 上微服务之间的网络通信一览无 ...

  10. 云原生爱好者周刊 | 使用 WASM 来写博客是什么感觉?

    开源项目推荐 zzhack zzhack 是一个静态博客框架,是一个纯正的 WASM 应用,它由 Rust & Yew 来作为技术栈进行搭建,UI 设计比较美观,大家也可以直接使用该项目的设计 ...