首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在父级TableLayoutPanel的行中显示MdiChild?

在父级TableLayoutPanel的行中显示MdiChild,可以按照以下步骤进行操作:

  1. 创建一个TableLayoutPanel控件,并将其添加到父级窗体中。
  2. 设置TableLayoutPanel的行数和列数,以适应需要显示的MdiChild数量。
  3. 遍历MdiChild窗体集合,对于每个MdiChild窗体执行以下操作:
    • 创建一个Panel控件,并将MdiChild窗体的内容添加到该Panel中。
    • 将该Panel添加到TableLayoutPanel的相应行和列中。
  4. 设置TableLayoutPanel的行和列的大小类型,以适应MdiChild窗体的大小变化。
  5. 设置TableLayoutPanel的Dock属性为Fill,以使其充满父级窗体。

这样,MdiChild窗体就会以表格布局的形式显示在父级TableLayoutPanel的行中。

以下是一个示例代码:

代码语言:csharp
复制
// 创建TableLayoutPanel控件
TableLayoutPanel tableLayoutPanel = new TableLayoutPanel();
tableLayoutPanel.Dock = DockStyle.Fill;

// 设置行数和列数
tableLayoutPanel.RowCount = this.MdiChildren.Length;
tableLayoutPanel.ColumnCount = 1;

// 遍历MdiChild窗体集合
for (int i = 0; i < this.MdiChildren.Length; i++)
{
    Form mdiChild = this.MdiChildren[i];

    // 创建Panel控件
    Panel panel = new Panel();
    panel.Dock = DockStyle.Fill;

    // 将MdiChild窗体的内容添加到Panel中
    mdiChild.TopLevel = false;
    mdiChild.FormBorderStyle = FormBorderStyle.None;
    mdiChild.Dock = DockStyle.Fill;
    panel.Controls.Add(mdiChild);

    // 将Panel添加到TableLayoutPanel的相应行和列中
    tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
    tableLayoutPanel.Controls.Add(panel, 0, i);
}

// 设置行和列的大小类型
tableLayoutPanel.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
tableLayoutPanel.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

// 将TableLayoutPanel添加到父级窗体中
this.Controls.Add(tableLayoutPanel);

这样,父级TableLayoutPanel的行中就会显示MdiChild窗体。根据实际需求,可以调整TableLayoutPanel的行和列的大小类型,以及MdiChild窗体的布局和样式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WinForm界面布局随分辨率改变

解决方法1: 在Visual studio 2013中,窗体的属性中有一个AutoScaleMode属性,这个属性的作用是:指定 Windows 窗体支持的不同类型的自动缩放模式 属性名 属性说明 None...禁用自动缩放(默认时) Font 根据类使用的字体(通常为系统字体)的维度控制缩放 Dpi 根据显示分辨率控制缩放,常用分辨率为 96 和 120 DPI Inherit 根据类的父类的缩放模式控制缩放...,如果不存在父类,则禁用自动缩放 解决方法2: 把窗体定义为一个表格布局,然后把空间全部都绑定在表格布局的固定位置,当改变表格大小的时候,空间大小自动跟随表格单元格大小进行改变。...3.设置TableLayoutPanel控件的行和列,设置成百分比形式,这样就可以实现对于当窗体变大或缩小时,控件大小自动改变 ?...4.添加控件到表格中,并且控件的Dock值也为Fill,这样就可实现控件随表格大小改变 ? 5.实现效果 ?

2.3K40

Windows Forms 应用开发:一分钟浅谈

; }}在上面的示例中,我们定义了一个简单的表单 Form1,其中包含一个按钮 button1。当用户点击该按钮时,会弹出一个消息框显示“Hello, World!”。...二、进阶:控件与布局管理Windows Forms 提供了丰富的控件库,如 Button, TextBox, Label 等。正确地使用这些控件可以帮助我们快速构建界面。...对于响应式布局,TableLayoutPanel 提供了很好的支持,可以通过设置列和行的权重来实现自适应布局。...panel.RowCount = 2; // 设置列和行的权重 panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent...,我们不仅了解了如何开始一个 Windows Forms 项目,还探讨了一些在实际开发过程中可能遇到的问题及其解决方法。

19610
  • 【Web前端】常规流布局(补充)

    块级元素(Block-level Elements) 块级元素是指那些会在新的一行开始显示的元素。这些元素通常会占据父容器的整个宽度,直到遇到下一个块级元素或容器的边缘。...它们每个都在新的一行上显示,具有相同的背景色、边距和内边距。每个 ​​div​​​ 元素都占据了父容器的整个宽度,除非有其他元素阻止其占据更多空间。...二、常规流布局的计算规则 在常规流布局中,元素的排列方式遵循以下规则: 块级元素的排列 从上到下排列: 块级元素会从上到下排列,每个块级元素的起始位置都会在新的一行上。它们的宽度默认是父容器的全宽。...宽度和高度: 块级元素的宽度可以被调整,通常是通过 ​​width​​​ 属性设置。默认情况下,高度会根据内容的大小自适应。 行内元素的排列 从左到右排列: 行内元素会从左到右排列,并在同一行中显示。...它们的宽度和高度通常由内容决定。 行内换行: 当行内元素的总宽度超出父容器的宽度时,会自动换行。 三、实际应用中的常规流布局 在实际应用中,常规流布局经常用于创建简单的页面布局,如文章段落、列表等。

    4910

    Axure高保真教程:多选树形表格

    今天作者就教大家如何在Axure中制作一个多选树形表格的原型模板。...,文字列就是column1~6分别对应表格1-6列显示的内容,功能列包括:shangyiji列,用于记录该子级的父级,这里需要和column1的父级对应;jiantou列,用于控制是否显示箭头,父级行填写...1,子级行或者没有子级的父级行不需要填写;fangxiang列用于控制箭头方向,如果箭头默认都是向右的,不填就可以了,如果向下就填1;xianshi列,控制那行内容显示出来,一般父级内容默认显示填写1,...子级默认隐藏就为空,当然子级也可以默认显示,这里要配合箭头方向填写默认值即可,例如子级默认显示,父级箭头对应应该默认向下打开,填写1;xuanzhong列,用于该行是否被选中,默认为空即可,代表未选中,...,代表该行数据被收起,暂不显示,所以我们用隐藏的交互将该行数据影藏起来;如果shangyiji列的值不等于空,就代表该行是子级行,有对应父级。

    13310

    59道CSS面试题(附答案)

    ,因为 clearfix已经应用在各大CSS框架(如 Bootstrap等)中,并成为行业的默认规范。...absolute表示绝对定位,相对于最近一级(从直接父级元素往上数,直到根元素)定位,相对于 statIc的父元素进行定位。 fixed用于生成绝对定位,相对于浏览器窗口或 frame进行定位。...table是指此元素会作为块级表格显示。 inherit是指从父元素继承 display属性的值。 14、简要描述块级元素和行内元素的区别。 块级元素的前后都会自动换行。...默认情况下,块级元素会独占一行。例如都是块级元素,当显示这些元素中间的文本时,都将从新行中开始显示,其后的内容也将在新行中显示。...行内元素可以和其他行内元素位于同一行,在浏览器中显示时不会换行。例如等,对于行内元素,不能设置其高度和宽度。 还有一种元素是行内块级元素,比如元素等。

    5K50

    【Web APIs】JavaScript 操作元素 ⑥ ( 关闭对话框案例 | display 属性简介 | 页面标签结构和样式 | 盒子模型细节 | 绝对布局要点 - 设置负值即可超出父容器模型 )

    属性简介 标签元素 的 display 属性 可用于定义一个元素如何在页面上显示 , 该属性 控制了元素的盒模型特性 , 如 : 尺寸、布局方式和如何处理与其他元素的关系 ; display 属性的不同值可以影响页面的...布局 和 元素的可见性 ; display 属性值 设置参考 : block : 将元素 设置 为 块级元素 ; 块级元素会在 新行上开始 , 并占据整行的宽度 ; 常见的块级元素有 ...、、 ; inline : 将元素 设置 为 行内元素 ; 行内元素 不会 开始新行 , 只会在本行占据它所需要的空间 ; 常见的行内元素有、、 ;...inline-block : 将元素设置为 行内块元素 ; 行内块元素 结合了 block 块级元素 和 inline 行内元素 的 特性 ; 行内块元素 在行内显示 , 但可以设置宽度和高度...*/ /* display: none; 隐藏元素*/ } 内部的 div 标签元素 只是 用于显示一行字 , 没有其它作用 , 设置 50 x 50 像素 居中显示文本即可

    12310

    【CSS】CSS 总结 ⑥ ( 盒子模型摆放机制 - 普通流 浮动 定位 | 浮动 - 脱离标准流 | 清除浮动语法 | 额外标签法 | after 伪元素清除浮动 ) ★

    从上到下 ; 如 : div , p , h1 等 ; 行内元素 摆放 : 多个 行内元素 在同一行显示 , 排列顺序 从左到右 , 显示到边缘 自动换行 ; 如 : span , strong ,...a 等 ; 浮动 : 盒子模型 在 普通流 基础上 覆盖显示 , 多个 块级元素 可以在同一行 相互覆盖显示 ; 定位 : 盒子模型 在 浏览器 指定位置 显示 ; 普通流 相当于 Android 中的...标准流 布局排列如下 , 块级元素 各占一行 , 从上到下排列 ; 行内元素 多个公占一行 , 从有到右排列 ; 浮动特性 ( 脱离标准流布局 ) : 浮动的元素 会 脱离 标准流布局 , 剩余的标准流布局正常显示...显示模式有 3 种 ; 块级元素 行内元素 行内块元素 元素 的 浮动特性 会改变 该元素的 Display 显示模式 , 原来的 元素 不管是 块级元素 还是 行内元素 , 设置 浮动 样式后 , 其显示模式..., 如 : 优点 : 容易理解 , 使用方便 ; 缺点 : 添加的 额外标签 无意义 , 使得 HTML 结构混乱 ; 3、清除浮动 语法 - 父级元素设置 overflow

    20010

    伸缩布局(CSS3)

    CSS3在布局方面做了非常大的改进,使得我们对块级元素的布局排列变得十分灵活,适应性非常强,其强大的伸缩性,在响应式开中可以发挥极大的作用。...让子元素在父容器中间显示 space-between 项目位于各行之间留有空白的容器内。...相当于给每个盒子添加了左右margin外边距 4、align-items调整侧轴对齐(垂直对齐) 子盒子如何在父盒子里面垂直对齐(单行) 值 描述 白话文 stretch 默认值。...垂直对齐结束位置 底对齐 5、flex-wrap控制是否换行 当我们子盒子内容宽度多于父盒子的时候如何处理 值 描述 nowrap 默认值。规定灵活的项目不拆行或不拆列。...不换行,则 收缩(压缩) 显示 强制一行内显示 wrap 规定灵活的项目在必要的时候拆行或拆列。 wrap-reverse 规定灵活的项目在必要的时候拆行或拆列,但是以相反的顺序。

    4.4K50

    CSS 常见面试题速查

    E:not(s) 匹配不符合当前选择器的任何元素 伪元素:用于创建一些不在文档树中的元素,并为其添加样式 CSS 2.1 E:first-line 匹配 E 元素的第一行 E:first-letter...默认宽度为父元素宽度,可设置宽高,换行显示 none 缺省值。象行内元素类型一样显示 inline 行内元素类型。...默认宽度为内容宽度,不可设置宽高,同行显示 inline-block 默认宽度为内容宽度,可以设置宽高,同行显示 list-item 像块类型元素一样显示,并添加样式列表标记 table 此元素会作为块级表格来显示...块级元素(block)特性: 总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示 宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制...,行级元素从左向右排列 relative 相对定位,此时的 相对 是相对于正常文档流的位置 absolute 相对于最近的非 static 定位祖先元素的偏移,来确定元素位置 如一个绝对定位元素的父级和祖父级都为

    91110

    (第一版)知识点

    负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript)并渲染(显示)网页。 内核的分类: Trident:ie , 猎豹安全浏览器,360极速浏览器,百度浏览器......margin是叠加,取最大值显示) Margin传递问题 (子元素的margin会传递给父级) Margin-left:auto(注意下距离左侧auto,会把剩下的空余距离全都占掉) Margin-right...块和内嵌的转换? 1.display:block; 显示为块 2.Display:inline;显示为内嵌 块状元素如何在同一行显示?...(问题) 分页的练习 块元素如何在同一行显示?...position:absolute; 绝对定位 a、使元素完全脱离文档流; b、使内嵌支持宽高; c、块属性标签内容撑开宽度; d、如果有定位父级相对于定位父级发生偏移,没有定位父级相对于body发生偏移

    1K20

    CSS之1px问题

    本文将扩展和完善第3篇的内容,详细讲解如何在H5 App中利用WebSockets实现实时通信,并附带示例代码。 CSS单位相关问题 前言: 为什么有 1px 这个问题? 实现 1px 有哪些方法?...开源项目中使用的哪些解决方案? 如何在项目中处理 1px 的相关问题?...也就是说,当逻辑像素是 1pt 时,在 DPR 为 2 的 设备上显示为 2px 的物理像素 移动端1px 解决方法: 一种是利用 css 中的 transfrom:scaleY(0.5) 媒体查询根据不同...DPR 缩放 使用图片:兼容性最好,灵活行最差,不能改变颜色、长度 使用 viewport 和 rem,js 动态改变 viewport 中 scale 缩放,缺点在于不适用于已有的项目,例如:使用...如果改元素没有设置,则一直向父级元素查找,直到找到,如果没有设置大小,使用浏览器默认大小。

    5810

    03.HTML头部CSS图像表格列表

    CSS修饰标签的样式,有 "内联" 和 "外引" 两种方式。 对于大部分标签,以上两种方法均可,且修改父级标签,子级标签特性也会改变。...但某些标签确无法通过修改父级标签来改变子级标签特性,如a标签,修改其颜色特性,必须直接修改 a 标签的特性才可。...实例: 只能使用"内联"方式 HTML 图像 实例 在线实例 插入图像 本例演示如何在网页中显示图像。...注意: 加载页面时,要注意插入页面图像的路径,如果不能正确设置图像的位置,浏览器无法加载图片,图像标签就会显示一个破碎的图片。 更多实例 排列图片 本例演示如何在文字中排列图像。... 这个标签就是放在三间房子里面的东西,每一个 就是表格一行。 表格的每一行被分为一个个单元格。

    19.4K101

    探索CSS:从入门到精通Web开发(二)

    现代CSS技术: 探索一些现代的CSS技术,如Flexbox布局、Grid布局以及CSS变量,让你的网页开发更加高效和便捷。...,取值之间空格隔开 元素显示模式: 块级元素:显示特点 独占一行,一行显示同一个,宽度默认是父元素的宽度,高度默认是由内容撑开 可以设置宽高 代表:div p h ul dl dd from nav...footer 行内元素:显示特点在同一行显示,不可以设置宽高,宽高由内容默认撑开 代表:a span b u i s strong ins em del 行内块元素:显示特点: 一行显示多个可以设置宽高...,上下的margin会合并 结果:最终两者距离为margin的最大值 塌陷现象: 互相嵌套的块级元素,子元素语句作用在父元素上 结果导致父元素一起改变 解决方法: 一:给父元素设置overflow...,在标准流中的不占原来位置 浮动元素比标准流高半个级别,可以覆盖标准流中的原素 清除浮动·: 清除浮动带来的影响、 父子级标签,子集浮动,父级没有高度,后面的标准流会受到影响 放法: 额外标签法

    17810

    探索CSS:从入门到精通Web开发(二)

    现代CSS技术: 探索一些现代的CSS技术,如Flexbox布局、Grid布局以及CSS变量,让你的网页开发更加高效和便捷。...,取值之间空格隔开 元素显示模式: 块级元素:显示特点 独占一行,一行显示同一个,宽度默认是父元素的宽度,高度默认是由内容撑开 可以设置宽高 代表:div p h ul dl dd from nav...footer 行内元素:显示特点在同一行显示,不可以设置宽高,宽高由内容默认撑开 代表:a span b u i s strong ins em del 行内块元素:显示特点: 一行显示多个可以设置宽高...,上下的margin会合并 结果:最终两者距离为margin的最大值 塌陷现象: 互相嵌套的块级元素,子元素语句作用在父元素上 结果导致父元素一起改变 解决方法: 一:给父元素设置overflow...,在标准流中的不占原来位置 浮动元素比标准流高半个级别,可以覆盖标准流中的原素 清除浮动·: 清除浮动带来的影响、 父子级标签,子集浮动,父级没有高度,后面的标准流会受到影响 放法: 额外标签法

    14810

    探索CSS:从入门到精通Web开发(二)

    现代CSS技术: 探索一些现代的CSS技术,如Flexbox布局、Grid布局以及CSS变量,让你的网页开发更加高效和便捷。...,取值之间空格隔开 元素显示模式: 块级元素:显示特点 独占一行,一行显示同一个,宽度默认是父元素的宽度,高度默认是由内容撑开 可以设置宽高 代表:div p h ul dl dd from nav...footer 行内元素:显示特点在同一行显示,不可以设置宽高,宽高由内容默认撑开 代表:a span b u i s strong ins em del 行内块元素:显示特点: 一行显示多个可以设置宽高...,上下的margin会合并 结果:最终两者距离为margin的最大值 塌陷现象: 互相嵌套的块级元素,子元素语句作用在父元素上 结果导致父元素一起改变 解决方法: 一:给父元素设置overflow...,在标准流中的不占原来位置 浮动元素比标准流高半个级别,可以覆盖标准流中的原素 清除浮动·: 清除浮动带来的影响、 父子级标签,子集浮动,父级没有高度,后面的标准流会受到影响 放法: 额外标签法

    16110

    css应知应会 第三集

    1、文本颜色 属性:colo 取值:颜色值 2、文本排列 作用:控制文本,图像,行内块元素 在父元素中的水平排列方式...作用:一行数据所占的高度,如果行高高于文字高度的话,那么文字将在指定行高范围内垂直居中显示 属性:line-height 取值...3、每个块级元素在页面中独占一行,每个块级元素都是按照从上到下的方式排列的 4、多个行内元素会在一行中显示,显示不下再换行 问题:如何在页面中解决多个块级元素在一行内的显示问题...4、定位 - 浮动定位 1、解决的问题 多个块级元素在一行内的显示问题 2、什么是浮动定位 & 特点 将元素设置为浮动定位的话...左侧已有的浮动元素的边缘上 3、right 右浮动,让元素停靠在父元素的右边 或 右侧已有的浮动元素的边缘上 4

    1.6K20

    CSS总结

    语法:父元素 子元素{属性:值},如:table td{color:blue;}   4.选择符分组(集体控制):将同样的样式定义用于多个选择符,选择符之间用逗号隔开。     ...6.组合选择符:将以上选择符进行组合使用,如:h1.waring,h2#contect{属性:值}。 三、CSS优先权   就近原则:作用范围越小,优先级越高,离修饰目标越近,优先级越高。   ...核心思想是把多张图片合成一张图片里,通过修改背景属性中的定位来控制到底显示图片中的哪些部分。 [5]:CSS常见布局方式:一行一列居中、一行两列居中、两行两列、三行两列、三行三列....  [6]:当父元素没有指定高度并且子元素有浮动时,这个父元素的高度不会自动增加. [7]:在给盒子的父盒子加居中时,一定要有宽度才能使得父盒子居中....auto(在必须时对象内容才会被裁切或显示滚动条)                 hidden(不显示超过对象尺寸的内容)               scroll(总是显示滚动条)   2.Zoom

    2.2K10

    CSS 浮动 (二)

    块级元素会独占一行,从上向下顺序排列。 常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table 行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行。...如何让多个块级盒子(div)水平排列成一行? 比较难,虽然转换为行内块元素可以实现一行显示,但是他们之间会有大的空白缝隙,很难控制。\ 如何实现两个盒子的左右对齐?...总结: 有很多的布局效果,标准流没有办法完成,此时就可以利用浮动完成布局。 因为浮动可以改变元素标 签默认的排列方式 浮动最典型的应用:可以让多个块级元素一行内排列显示。...浮动元素会脱离标准流(脱标) 浮动的元素会一行内显示并且元素顶部对齐 浮动的元素会具有行内块元素的特性. 5 浮动的使用 浮动元素经常和标准流父级搭配使用 为了约束浮动元素位置, 我们网页布局一般采取的策略是...例如 ,或者其他标签如 优点: 通俗易懂,书写方便 缺点: 添加许多无意义的标签,结构化较差 注意: 要求这个新的空标签必须是块级元素 代码 > 父级添加 overflow 可以给父级添加

    14310
    领券