使用 TableLayoutPanel 控件设置窗体布局
  1. 在 Visual Studio IDE 左侧,找到“工具箱”选项卡。 选择“工具箱”选项卡,随即将显示工具箱。(或者,在菜单栏上,依次选择“视图”、“工具箱”。)

  2. 选择“容器”组旁边的小三角形符号以打开该组,如下图所示。


    “容器”组

  3. 可以向窗体中添加类似按钮、复选框和标签这样的控件。 在工具箱中双击 TableLayoutPanel 控件。(您也可将控件从工具箱拖动到窗体上。)当执行此操作时,IDE 会将 TableLayoutPanel 控件添加到窗体中,如下图中所示。


    TableLayoutPanel 控件

     说明

    添加 TableLayoutPanel 之后,如果窗体中出现标题为“TableLayoutPanel 任务”的窗口,请选择窗体内的任何位置以关闭此窗口。 在本教程后面部分,您将学习到有关此窗口的更多内容。

    请注意当选择“工具箱”选项卡时工具箱是如何展开以覆盖窗体的,以及当选择工具箱外部的任何位置后它是如何关闭的。 这就是 IDE 自动隐藏功能。 通过选择窗口右上角的图钉图标在自动隐藏和就地锁定之间切换,您可为任何窗口打开或关闭工具箱。 图钉图标如下所示。


    图钉图标

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


    显示 TableLayoutPanel 控件的“属性”窗口

  5. 在“属性”窗口的工具栏上选择“按字母顺序”按钮。 这会导致“属性”窗口中的属性列表按字母顺序显示,这样更易于查找本教程中的属性。

  6. 控件选择器是“属性”窗口顶部的下拉列表。 在此示例中,它显示选定了名为 tableLayoutPanel1 的控件。 您可以通过在 Windows 窗体设计器中选择一个区域或者从控件选择器中进行选择来选择控件。 选择 TableLayoutPanel 之后,请查找“Dock”属性并选择“Dock”,此属性应设置为“无”。 请注意,一个下拉箭头将出现在值旁边。 选择该箭头,然后选择“Fill”按钮(中间的大按钮),如下图所示。


    “Fill”处于选中状态的“属性”窗口

    Visual Studio 中的停靠是指 IDE 中的一个窗口附加到另一个窗口或区域的情况。 例如,“属性”窗口可以取消停靠,即在 Visual Studio 中独立地自由浮动,也可以靠近“解决方案资源管理器”停靠。

  7. 在将 TableLayoutPanel 的“Dock”属性设置为“Fill”之后,此面板将填充整个窗体。 如果再次调整窗体的大小,则 TableLayoutPanel 将保持停靠状态,并自行调整大小以适合窗体。

     说明

    TableLayoutPanel 与 Microsoft Office Word 中的表类似:它具有行和列,并且个别单元格可以跨多个行和列。 每个单元格都可以存放一个控件(例如按钮、复选框或标签)。 TableLayoutPanel 将具有一个跨其整个顶部行的 PictureBox 控件、一个位于其左上角单元格中的CheckBox 控件和四个位于其右上角单元格中的 Button 控件。

  8. TableLayoutPanel 当前具有两个大小相等的行和两个大小相等的列。 您需要调整它们,以使顶部行和右侧列更大一些。 在 Windows 窗体设计器中选择“TableLayoutPanel”。 在右上角有一个小的黑色三角形按钮,如下所示。


    三角形按钮

    此按钮指示该控件具有帮助您自动设置其属性的任务。

  9. 选择三角形以显示控件的任务列表,如下图所示。


    TableLayoutPanel 任务

  10. 选择“编辑行和列”任务以显示“列和行样式”窗口。 选择“Column1”,确保选中“百分比”按钮并在“百分比”框中输入 15,以将此控件的大小设置为 15%。(这是将在后面的教程中使用的 NumericUpDown 控件。)选择“Column2”并将其设置为 85%。 先不要选择“确定”按钮,因为这将关闭此窗口。(但如果这样做,您可以使用任务列表重新打开它。)


    TableLayoutPanel 列和行样式

  11. 从窗口顶部的“显示”下拉列表中选择“行”。 将“Row1”设置为 90% 并将“Row2”设置为 10%。

  12. 选择“确定”按钮。 现在,TableLayoutPanel 应具有一个大的顶部行、一个小的底部行、一个小的左侧列和一个大的右侧列。 您可在 TableLayoutPanel 中调整行和列的大小,方法是在窗体中选择 tableLayoutPanel1,然后拖动其行和列边框。


    调整了 TableLayoutPanel 的大小的 Form1

c#学习笔记之使用 TableLayoutPanel 控件设置窗体布局的更多相关文章

  1. Android Studio 学习笔记(三):简单控件及实例

    控件.组件.插件概念区分 说到控件,就不得不区分一些概念. 控件(Control):编程中用到的部件 组件(Component):软件的组成部分 插件(plugin): 应用程序中已经预留接口的组件 ...

  2. Duilib学习笔记《03》— 控件使用

    在前面已经对duilib有个一个基本的了解,并且创建了简单的空白窗体.这仅仅只是一个开始,如何去创建一个绚丽多彩的界面呢?这就需要一些控件元素(按钮.文本框.列表框等等)来完善. 一. Duilib控 ...

  3. 第六周学习笔记,vc各类控件的输入输出

    6w学习笔记 vc控件的输入输出 单选按钮 当单击 RadioButton 控件时,其 Checked 属性设置为 true,并且调用 Click 事件处理程序.当 Checked 属性的值更改时,将 ...

  4. ODAC(V9.5.15) 学习笔记(二)控件列表

    ODAC的控件有26个,简单介绍如下: TOraSession  管理Oracle的连接  TOraQuery  使用SQL进行数据获取,自动将更新提交数据库  TSmartQuery    在处理字 ...

  5. IOS开发学习笔记019-动态创建控件

    动态创建控件 一.按钮 二.文本输入框 三.lable标签 注意: 只是简单的拖拽控件会毁了你,所以最好还是手动通过代码创建控件. 如果要通过代码生成按钮的话,可以在系统自带的函数viewDidLoa ...

  6. 学习笔记13_第三方js控件&EasyUI使用

    第三方UI包使用思路: 1.先映入各种JS包,包含JS版本包,第三方CSS包,第三方主JS包,第三方语言包. 2.确定要做什么,是对话框还是表格.3.根据Demo和目的,在<body>内, ...

  7. <WP8开发学习笔记>修改panorama全景控件的标题的大小

    panorama(全景)控件非常具有WinPhone特色,但是那个巨大的标题许多时候会让人觉得违和.怎么修改它呢? 最开始想到的是加一个FontSize,结果毫无影响.╮(╯-╰)╭ <phon ...

  8. ANDROID_MARS学习笔记_S01_010日期时间控件

    1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...

  9. 学习笔记:Tab Bar 控件使用详解

    注意这里是:Tab Bar 不是Tab Bar Controller. Tab bar是继承UIView,所以可以添加到ViewController里.是View就可以add到另一个View上去.Ta ...

随机推荐

  1. Ant—使用Ant构建简单Java项目(三)

    博客<Ant-使用Ant构建简单Java项目(二)>我们简化了运行Test类中main方法须要运行的命令,本博客来介绍一下如何使build.xml文件和当中使用property标签定义的属 ...

  2. ITIL学习心笔记总结

    四:价值: 被验证的价值1:革新意识---管理也是第一生产力 被验证的价值2:统一思路---这不是一个人的战斗 被验证的价值3:体系的价值---‘新木桶原理’ ITSM的实施经验表明,“”一流的工程师 ...

  3. vue 过渡状态

    vue的过渡系统提供了非常多简单的方法设置进入.离开和列表的动效.那么对于数据元素本身的动效呢,例: 数字和运算 颜色的显示 svg节点的位置 元素的大小和其他的属性 所有的原始数字都被事先存储起来, ...

  4. springmvc中配置servlet初始化类

    <bean  id="InitStart" lazy-init="false" init-method="InitSystem" cl ...

  5. centos 7安装完后出现please make your choice from '1' to e

    解决方法:输入“1”,按Enter键输入“2”,按Enter键输入“q",按Enter键输入“yes”,按Enter键

  6. PYTHON中 赋值运算的若干问题总结

    1.PYTHON中没有自增自减操作(++,——): 因为PYTHON中对于字符.数值等不可变的对象来说,自增自减没有意义. 2.PYTHON中l连接操作总是创建一个新对象. 举例: L=[1,2] M ...

  7. 使用 Google Guava 美化你的 Java 代码:1~4(转)

    参考:https://my.oschina.net/leejun2005/blog/172328 记录不做具体转载了

  8. HashMap与TreeMap的区别?

    HashMap与TreeMap的区别? 解答:HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用Tre ...

  9. Window对应的类为java.awt.Windows, 它可独立于其他Container而存在

    Window对应的类为java.awt.Windows, 它可独立于其他Container而存在,它有两个子类, Frame和Dialog, Frame是具有标题(title)和可伸缩的角(resiz ...

  10. NDK版本 下载地址

    最新版本r16 https://dl.google.com/android/repository/android-ndk-r16-windows-x86.zip https://dl.google.c ...