c#学习笔记之使用 TableLayoutPanel 控件设置窗体布局
使用 TableLayoutPanel 控件设置窗体布局
在 Visual Studio IDE 左侧,找到“工具箱”选项卡。 选择“工具箱”选项卡,随即将显示工具箱。(或者,在菜单栏上,依次选择“视图”、“工具箱”。)
选择“容器”组旁边的小三角形符号以打开该组,如下图所示。

“容器”组可以向窗体中添加类似按钮、复选框和标签这样的控件。 在工具箱中双击
TableLayoutPanel控件。(您也可将控件从工具箱拖动到窗体上。)当执行此操作时,IDE 会将TableLayoutPanel控件添加到窗体中,如下图中所示。
TableLayoutPanel 控件
说明添加 TableLayoutPanel 之后,如果窗体中出现标题为“TableLayoutPanel 任务”的窗口,请选择窗体内的任何位置以关闭此窗口。 在本教程后面部分,您将学习到有关此窗口的更多内容。
请注意当选择“工具箱”选项卡时工具箱是如何展开以覆盖窗体的,以及当选择工具箱外部的任何位置后它是如何关闭的。 这就是 IDE 自动隐藏功能。 通过选择窗口右上角的图钉图标在自动隐藏和就地锁定之间切换,您可为任何窗口打开或关闭工具箱。 图钉图标如下所示。

图钉图标通过选择“TableLayoutPanel”来确保选定它。 可以通过查看“属性”窗口顶部的下拉列表来验证选定哪个控件,如下图中所示。

显示 TableLayoutPanel 控件的“属性”窗口在“属性”窗口的工具栏上选择“按字母顺序”按钮。 这会导致“属性”窗口中的属性列表按字母顺序显示,这样更易于查找本教程中的属性。
控件选择器是“属性”窗口顶部的下拉列表。 在此示例中,它显示选定了名为
tableLayoutPanel1的控件。 您可以通过在 Windows 窗体设计器中选择一个区域或者从控件选择器中进行选择来选择控件。 选择TableLayoutPanel之后,请查找“Dock”属性并选择“Dock”,此属性应设置为“无”。 请注意,一个下拉箭头将出现在值旁边。 选择该箭头,然后选择“Fill”按钮(中间的大按钮),如下图所示。
“Fill”处于选中状态的“属性”窗口Visual Studio 中的停靠是指 IDE 中的一个窗口附加到另一个窗口或区域的情况。 例如,“属性”窗口可以取消停靠,即在 Visual Studio 中独立地自由浮动,也可以靠近“解决方案资源管理器”停靠。
在将 TableLayoutPanel 的“Dock”属性设置为“Fill”之后,此面板将填充整个窗体。 如果再次调整窗体的大小,则 TableLayoutPanel 将保持停靠状态,并自行调整大小以适合窗体。
说明TableLayoutPanel 与 Microsoft Office Word 中的表类似:它具有行和列,并且个别单元格可以跨多个行和列。 每个单元格都可以存放一个控件(例如按钮、复选框或标签)。 TableLayoutPanel 将具有一个跨其整个顶部行的
PictureBox控件、一个位于其左上角单元格中的CheckBox控件和四个位于其右上角单元格中的Button控件。TableLayoutPanel 当前具有两个大小相等的行和两个大小相等的列。 您需要调整它们,以使顶部行和右侧列更大一些。 在 Windows 窗体设计器中选择“TableLayoutPanel”。 在右上角有一个小的黑色三角形按钮,如下所示。

三角形按钮此按钮指示该控件具有帮助您自动设置其属性的任务。
选择三角形以显示控件的任务列表,如下图所示。

TableLayoutPanel 任务选择“编辑行和列”任务以显示“列和行样式”窗口。 选择“Column1”,确保选中“百分比”按钮并在“百分比”框中输入
15,以将此控件的大小设置为 15%。(这是将在后面的教程中使用的NumericUpDown控件。)选择“Column2”并将其设置为 85%。 先不要选择“确定”按钮,因为这将关闭此窗口。(但如果这样做,您可以使用任务列表重新打开它。)
TableLayoutPanel 列和行样式从窗口顶部的“显示”下拉列表中选择“行”。 将“Row1”设置为 90% 并将“Row2”设置为 10%。
选择“确定”按钮。 现在,TableLayoutPanel 应具有一个大的顶部行、一个小的底部行、一个小的左侧列和一个大的右侧列。 您可在 TableLayoutPanel 中调整行和列的大小,方法是在窗体中选择 tableLayoutPanel1,然后拖动其行和列边框。

调整了 TableLayoutPanel 的大小的 Form1
c#学习笔记之使用 TableLayoutPanel 控件设置窗体布局的更多相关文章
- Android Studio 学习笔记(三):简单控件及实例
控件.组件.插件概念区分 说到控件,就不得不区分一些概念. 控件(Control):编程中用到的部件 组件(Component):软件的组成部分 插件(plugin): 应用程序中已经预留接口的组件 ...
- Duilib学习笔记《03》— 控件使用
在前面已经对duilib有个一个基本的了解,并且创建了简单的空白窗体.这仅仅只是一个开始,如何去创建一个绚丽多彩的界面呢?这就需要一些控件元素(按钮.文本框.列表框等等)来完善. 一. Duilib控 ...
- 第六周学习笔记,vc各类控件的输入输出
6w学习笔记 vc控件的输入输出 单选按钮 当单击 RadioButton 控件时,其 Checked 属性设置为 true,并且调用 Click 事件处理程序.当 Checked 属性的值更改时,将 ...
- ODAC(V9.5.15) 学习笔记(二)控件列表
ODAC的控件有26个,简单介绍如下: TOraSession 管理Oracle的连接 TOraQuery 使用SQL进行数据获取,自动将更新提交数据库 TSmartQuery 在处理字 ...
- IOS开发学习笔记019-动态创建控件
动态创建控件 一.按钮 二.文本输入框 三.lable标签 注意: 只是简单的拖拽控件会毁了你,所以最好还是手动通过代码创建控件. 如果要通过代码生成按钮的话,可以在系统自带的函数viewDidLoa ...
- 学习笔记13_第三方js控件&EasyUI使用
第三方UI包使用思路: 1.先映入各种JS包,包含JS版本包,第三方CSS包,第三方主JS包,第三方语言包. 2.确定要做什么,是对话框还是表格.3.根据Demo和目的,在<body>内, ...
- <WP8开发学习笔记>修改panorama全景控件的标题的大小
panorama(全景)控件非常具有WinPhone特色,但是那个巨大的标题许多时候会让人觉得违和.怎么修改它呢? 最开始想到的是加一个FontSize,结果毫无影响.╮(╯-╰)╭ <phon ...
- ANDROID_MARS学习笔记_S01_010日期时间控件
1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...
- 学习笔记:Tab Bar 控件使用详解
注意这里是:Tab Bar 不是Tab Bar Controller. Tab bar是继承UIView,所以可以添加到ViewController里.是View就可以add到另一个View上去.Ta ...
随机推荐
- Strace--系统调用分析问题集锦
---------------------------------------------------------------------------------------------------- ...
- andorid手机电脑操作
之前一直使用androidscreencast在pc上对手机进行操作,好久都没用了,前些天再次用的时候,提演示样例如以下: 决定还是自己写一个吧,由于7月份要做一个小分享,打算讲一些android的东 ...
- JS高程3:面向对象的程序设计——理解对象
JS中对象的定义: (无序)属性的集合 (无序)值的集合 (无序)名值对的集合 JS对象是基于引用数据类型来创建的. JS对象创建的2种方式: 传统方式 对象字面量 var person = new ...
- asp.net写日志权限问题
asp.net网站程序写不了日志,都是这个原因. 程序池的身份标识,设为内置的网络服务即可.
- C# 一个长度为100的int数组,插入1-100的随机数,不能重复,如何写
int[] intArr = new int[100]; ArrayList myList = new ArrayList(); Random rnd = new Random(); while (m ...
- Archive for required library xx cannot be read or is not a valid ZIP file
原因:maven下载的jar包有问题,导致maven编译的时候出错 解决方法:找到jar包所在的文件路径,在网上重新下载个相同版本的jar包,问题解决
- MapReduce编程实例3
MapReduce编程实例: MapReduce编程实例(一),详细介绍在集成环境中运行第一个MapReduce程序 WordCount及代码分析 MapReduce编程实例(二),计算学生平均成绩 ...
- 跟着百度学PHP[17]-PHP扩展CURL的模拟登陆并获取数据
这两天也不知道怎么,学习效率低.很无奈. 如何知道要去URL该怎么填写呢?就是填写表单中的Action内容: tempnam() 函数创建一个具有唯一文件名的临时文件. <?php header ...
- Java动态代理机制小结
因为最近学习hadoop中用到了动态代理的相关知识,之前AOP编程也碰到过,所以在这里特地总结一下. 在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(In ...
- 经典sql 语句大全
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...