winform 布局
考虑:
如何让一个或是一组按钮,一直水平居中
选项卡标题文字如何竖着排列
布局属性:
Anchor - 相当于一个锚点一样锁定控件位置.会根据其锚点来变化大小
共四个位置绑定,代表控件距离四个方向的距离,类似于html里的region;
可以每次选定一个锚点,也可以使用多个锚点,使用多个锚点时,控件大小可能会随着容器大小
变化发生变化,[因为锚点是固定的位置,固定距离不会发生变化]
Dock - 件与所在容器绑定.自动调整自身大小, 也有五种方向可以设置,上下左右和填充整个容器(未被站住的)
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);
StartPosition属性有这些选项:
- CenterParent 窗体在其父窗体中居中。
- CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。
- Manual 窗体的位置由 Location 属性确定。
- WindowsDefaultBounds 窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。
- WindowsDefaultLocation 窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。
- CenterScreen的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。
容器:
FlowLayouPanel 普通容器[内部流式布局],就像HTML里的流式布局一样,如果第一行放不下,自动换行。
Groupbox 带有标题的普通容器[内部普通布局,超出范围隐藏]
还有些凹槽 带便这个容器的范围
Panel 普通容器[内部普通布局,超出范围隐藏] ,就是用来给单选控件分组的那个
运行时 虚线不会显示出来。
SplitContainer 一个普通容器内被划分成两个Panel普通容器[默认垂直分割]
通过属性中的行为属性Orientation实现改变垂直分割还是水平分割
TabControl 带有选项卡的容器 可以修改属性控制选项卡在哪个位置,但是再左右两边的话,文字是不会翻转的。
TabLayouPanel 表格型容器 [每个表格只能放置一个控件,但是可以在里面放一个容器,再放好多控件]