主题
WinForms
布局
注意
.Net Framework 4.8 以及之前的版本在高分辨率(比如4K)且进行缩放的显示器下,设计的布局和运行时的布局可能会有差异,尤其是带有固定值的布局,如 SplitContainer 中的 SplitterDistance 属性。
如果是新项目,最好选择 .Net >= 6.0 的版本开发。
边界布局
- Anchor属性:定义某个控件绑定到容器的边界。当控件锚定到某个边缘时,与指定边缘最接近的控件边缘与指定边缘之间的距离将保持不变。
- Dock 属性:一般配合 Panel 使用。
| Dock可选值 | 位置 | 设计时行为 |
|---|---|---|
| Top | 靠上 | 宽度自适应,高度可手动调整 |
| Bottom | 靠下 | 宽度自适应,高度可手动调整 |
| Fill | 填充整个区域 | 宽度和高度均自适应,无法手动调整 |
| Left | 靠左 | 高度自适应,宽度可手动调整 |
| Right | 靠右 | 高度自适应,宽度可手动调整 |
流式布局
类似 CSS 中的 flexbox 布局。属性 FlowDirection 可调整方向。
网格布局
类似 CSS 中的 grid 布局。行列均可按百分比、或绝对值、或自动调整来设置宽高。
分割布局
将容器按水平或垂直方向分割成两个容器,中间会有分割线,运行时也可移动分割线调整容器的大小。