WinForm布局
1.布局属性
(1)Anchor 相当于一个锚点一样锁定控件位置.会根据其锚点来变化大小
共四个位置绑定:
- 上部锚点[距离顶部距离固定]
- 底部锚点[距离底部距离固定]
- 左侧锚点[距离左侧距离固定]
- 右侧锚点[距离右侧距离固定]
可以每次选定一个锚点,也可以使用多个锚点,使用多个锚点时,控件大小可能会随着容器大小
变化发生变化,[因为锚点是固定的位置,固定距离不会发生变化]
(2)Dock 控件与所在容器绑定.自动调整自身大小.
可实现绑定:
- 顶部
- 底部
- 左侧
- 右侧
- 填充整个容器
(3)Location 控件左上角相当于容器左上角的坐标.不会调整自身大小.
- 控件居中显示:
- int gLeft = this.Width / 2 - button1.Width / 2; //this指Form
- int gTop = this.Height / 2 - button1.Height / 2;
- button1.Location = new Point(gLeft, gTop);
(4)StartPosition属性有如下选项,分别含义如下:
- CenterParent 窗体在其父窗体中居中。
- CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。
- Manual 窗体的位置由 Location 属性确定。
- WindowsDefaultBounds 窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。
- WindowsDefaultLocation 窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。
- CenterScreen的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。
2.容器
(1)FlowLayouPanel 普通容器[内部流式布局]
(2)Groupbox 带有标题的普通容器[内部普通布局,超出范围隐藏]
(3)Panel 普通容器[内部普通布局,超出范围隐藏]
(4)SplitContainer 一个普通容器内被划分成两个Panel普通容器[默认垂直分割]
通过属性中的行为属性Orientation实现改变垂直分割还是水平分割
(5)TabControl 带有选项卡的容器
(6)TabLayouPanel 表格型容器 [每个表格只能放置一个控件]