简介:
FlowLayoutPanel 控件沿着水平或垂直流方向排列其内容。 其内容可从一行换到下一行,或者从一列换到下一列。 或者,还可以对它的内容进行剪裁,而不是进行换行。
可以通过设置 FlowDirection 属性的值来指定流向。 在从右向左 (RTL) 的布局中,FlowLayoutPanel 控件会相应地反转其流向。 还可以通过设置 WrapContents 属性的值来指定是对 FlowLayoutPanel 控件的内容进行换行还是剪裁。
任何 Windows 窗体控件(包括 FlowLayoutPanel 的其他实例)都可以是 FlowLayoutPanel 控件的子级。 使用此功能,可以构造在运行时能够根据窗体的尺寸进行相应调整的复杂布局。
子控件的停靠和锚定行为不同于其他容器控件中的行为。 停靠和锚定都是相对于流方向上的最大控件而言的。
介绍:
1.属性
Name | 获取或设置控件的名称。 | ||||||||
Text | 获取或设置与此控件关联的文本。 | ||||||||
Anchor | 获取或设置控件绑定到的容器的边缘并确定控件如何随其父级一起调整大小。 | ||||||||
Dock | 获取或设置哪些控件边框停靠到其父控件并确定控件如何随其父级一起调整大小。 | ||||||||
Size | 获取或设置控件的高度和宽度。 | ||||||||
FlowDirection |
FlowDirection 枚举描述了设计图面或容器(如窗体)中的连续 UI 元素(通常为控件)的流向。 此枚举由诸如 FlowLayoutPanel 的线性布局容器使用,该容器在 FlowLayoutPanel. FlowDirection 属性内部存储此信息。 FlowDirection 确定了在向支持容器添加新控件时放置该控件的默认位置。 容器的流向以及包含的每个控件的 Anchor 和 Dock 属性确定了调整控件容器大小时控件的重排。 FlowLayoutPanel 控件为其子控件提供 FlowBreak 属性。 将 FlowBreak 属性的值设置为 true 会导致 FlowLayoutPanel 控件停止当前流向上的控件布局,而换到下一行或下一列。 | ||||||||
ContextMenuStrip | 获取或设置与此控件关联的 ContextMenuStrip。 | ||||||||
Controls | 获取包含在控件内的控件的集合。 | ||||||||
AutoScroll | 获取或设置一个值,该值指示容器是否允许用户滚动到任何放置在其可见边界之外的控件。 | ||||||||
WrapContents | 获取或设置一个值,该值指示应当对 FlowLayoutPanel 控件的内容进行换行还是剪裁。 | ||||||||
RightToLeft | 获取或设置一个值,该值指示是否将控件的元素对齐以支持使用从右向左的字体的区域设置。 |
2.使用
- 一般都是窗体或者自定义控件等UI按照顺序排列。
- 如果要把控件或则窗体等动态的放在此控件里面,使用Controls属性的Add方法。
- 解决方案名称上右键->添加->新建项->用户控件。用于排列测试。
- 更改属性FlowDirection。四中类型的排列方式。


3.演示
- FlowDirection四种排列方式。
private void Form1_Load(object sender, EventArgs e)
{
UserControl1 user = new UserControl1();
flowLayoutPanel1.Controls.Add(user);
user = new UserControl1();
flowLayoutPanel1.Controls.Add(user);
}



