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 ...
随机推荐
- openssl 创建证书的总结和注意事项
1.该文章从网上看了好多博客,并经过实践形成.环境为ubuntu12和ubuntu14 "========================================大纲提要和注意事项= ...
- Editplus 文件中批量搜索字符串的技巧
常规情况下,我们利用Crtl+F可以在文档中查找字符串,进行替换等操作. 但要有的时候,我们要在大量文件中做这种查找操作,显然,一个个的打开文档是不现实的. 比如: 最近,谷歌被墙的很厉害,导致很多w ...
- Win7下更改iTunes备份路径最便捷的方法
① 先删除C:\Users\你的用户名\AppData\Roaming\Apple Computer里的 MobileSync文件夹(首次安装iTunes要先运行一次itunes,才有这个文件夹,如果 ...
- object-c输出对象
有时候在xcode里打断点很不准,看到对象总是nil,还是用打log比较靠谱: NSLog(@"obj info:%@",obj);
- Bash中的空格
空格,一个看不见的字符,很不起眼,很多人经常忽略它,导致代码出错,却还找不着北. 先了解下bash中什么时候该用空格,什么时候不该用. . 等号赋值两边不能有空格 . 命令与选项之间需要空格 . 管道 ...
- LayerMask小结
layerMask参数: Raycast (ray : Ray, out hitInfo : RaycastHit, distance : float = Mathf.Infinity, layerM ...
- [elk]logstash grok原理
logstash语法 http://www.ttlsa.com/elk/elk-logstash-configuration-syntax/ https://www.elastic.co/guide/ ...
- tensorboard 之 TF可视化
tensorboard是TF提供的一个可视化的工具 1.tensorboard可视化的数据来源? 将tensorflow程序运行过程中输出的日志文件进行可视化展示. 1.1 tensorflow怎样输 ...
- JS的类型转换,强制转换和隐式转换
JS的类型转换 1.强制转换 通过String(),Number(),Boolean()函数强制转换 var str=123; var str1='123'; console.log(typeof s ...
- 浅谈HTTPS协议和SSL、TLS之间的区别与关系
HTTP可能是我们见到过最多的一个字符串了,应该没有之一,而对于HTTPS到来和趋势,我们又开始看到SSL/TLS,所以对于一般不只做技术的人来说这或许还是一个疑问,那么子凡就趁最近在折腾这方面来给大 ...