mcpField
S
syncfusion-winforms-flow-layout

syncfusion-winforms-flow-layout

github.com/syncfusion设计与 UI280 次安装1 周前更新
代码仓库

关于 syncfusion-winforms-flow-layout

介绍 Syncfusion 的 FlowLayout 组件,可在 Windows Forms 中横向或纵向排列控件。内容讲解间距、对齐、约束和自动尺寸调整,适用于根据可用空间变化的窗体布局。

主要功能

  1. 01横向或纵向排列控件
  2. 02随空间变化自动换行
  3. 03设置水平和垂直间距
  4. 04配置对齐方式和控件约束
  5. 05自动调整容器高度
  6. 06反转排列方向

适用场景

  1. 01自动换行排列表单字段
  2. 02构建适应窗口尺寸的按钮栏
  3. 03在纵向面板中组织选项
  4. 04排列配置对话框中的控件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-flow-layout

安装后在 Claude Code 中输入/syncfusion-winforms-flow-layout确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
alignment-options.md
child-control-constraints.md
getting-started.md
layout-modes.md
spacing-and-sizing.md

详细介绍

实现 Syncfusion Windows Forms FlowLayout

掌握 FlowLayout 组件,在 Windows Forms 应用程序中创建灵活的自动控件布局。FlowLayout 会根据可用空间水平或垂直排列子组件,因此非常适合响应式窗体设计。

何时使用此技能

在以下情况下使用此技能:

  • 自动排列控件,使其水平或垂直流动
  • 管理间距,设置子控件之间的水平和垂直间隔
  • 配置对齐方式,设置布局行或列中控件的对齐方式
  • 设置基于约束的布局,以适用于复杂且可调整大小的窗体
  • 控制布局方向,使用反向流动选项
  • 启用自动调整大小,使容器大小随内容调整
  • 阻止特定控件参与布局
  • 创建响应式设计,以适应容器大小变化

组件概述

FlowLayout 是一种布局管理器,可按单一方向的流动模式自动定位子控件。与绝对定位不同,FlowLayout 提供:

  • 自动排列:控件水平或垂直流动,并自动换行
  • 灵活间距:配置控件之间的间隔
  • 智能对齐:居中、左/右对齐,或基于约束定位
  • 响应式尺寸调整:控件溢出时自动调整高度
  • 约束系统:精细控制各个控件的位置

主要功能

  • 布局模式:水平(默认)或垂直排列
  • 间距控制:分别设置水平(HGap)和垂直(VGap)间隔
  • 自动调整大小:AutoHeight 属性可自动调整容器高度
  • 方向控制:ReverseRows 可反转流动方向(RTL/BTL)
  • 对齐选项:居中、靠近、靠远,或基于 ChildConstraints 对齐
  • 子控件约束:为每个控件单独设置 HAlign、VAlign、NewLine 和比例尺寸
  • 参与布局控制:选择性地将控件纳入或排除在布局之外

文档导航指南

入门

📄 阅读: references/getting-started.md

了解程序集要求、设置方法和 FlowLayout 的基本实现:

  • 程序集引用和包要求
  • 基于设计器和基于代码的设置方法
  • 设置 ContainerControl 属性
  • 向布局中添加子控件
  • 选择布局模式(水平/垂直)

何时阅读: 首次实现 FlowLayout 之前


布局模式和方向

📄 阅读: references/layout-modes.md

配置控件的流动方式和反向方向:

  • LayoutMode 属性(水平与垂直)
  • ReverseRows 属性,用于从右到左或从下到上的流动
  • ParticipateInLayout 方法,用于动态纳入或排除控件
  • 在运行时切换布局模式
  • 各种布局模式的适用场景

何时阅读: 需要更改控件排列方式或控制流动方向时


间距和尺寸调整

📄 阅读: references/spacing-and-sizing.md

管理控件之间的间隔和容器自动调整大小:

  • 用于设置水平间距的 HGap 属性
  • 用于设置垂直间距的 VGap 属性
  • 用于自动调整容器高度的 AutoHeight
  • 溢出时的容器行为
  • 响应式布局模式

何时阅读: 需要调整控件间距或启用响应式尺寸调整时


对齐选项

📄 阅读: references/alignment-options.md

配置控件对齐方式和布局策略:

  • 简单对齐模式(居中、靠近、靠远)
  • 基于 ChildConstraints 的对齐系统
  • 各种对齐方式的适用场景
  • 在不同对齐类型之间切换
  • 边缘情况和特殊场景

何时阅读: 需要将控件居中、对齐各行,或使用基于约束的布局时


子控件约束

📄 阅读: references/child-control-constraints.md

为高级布局场景应用单个控件的约束:

  • 使用 HAlign 和 VAlign 定位单个控件
  • 使用 Justify 选项分配间距
  • 使用 Active 属性包含或排除特定控件
  • 使用 NewLine 属性强制换行或换列
  • 使用 ProportionalRowHeight 和 ProportionalColWidth
  • 使用 SetConstraints 和 GetConstraints 方法
  • 复杂的表单布局模式
  • 以编程方式重新排列控件

何时阅读: 构建控件对齐需求各不相同的复杂表单时


快速入门示例

// Basic horizontal layout with buttons
using Syncfusion.Windows.Forms.Tools;

public partial class MyForm : Form
{
    private FlowLayout flowLayout1;
    
    public MyForm()
    {
        InitializeComponent();
        
        // Create and configure FlowLayout
        flowLayout1 = new FlowLayout();
        flowLayout1.ContainerControl = this;
        flowLayout1.LayoutMode = FlowLayoutMode.Horizontal;
        flowLayout1.HGap = 10;
        flowLayout1.VGap = 10;
        
        // Create buttons
        Button btn1 = new Button { Text = "Button 1", Size = new Size(80, 30) };
        Button btn2 = new Button { Text = "Button 2", Size = new Size(80, 30) };
        Button btn3 = new Button { Text = "Button 3", Size = new Size(80, 30) };
        
        // Add to form (automatically laid out)
        this.Controls.Add(btn1);
        this.Controls.Add(btn2);
        this.Controls.Add(btn3);
    }
}

结果: 三个按钮水平排列,间隔 10 像素;空间不足时会自动换到下一行。

常见模式

水平按钮栏
flowLayout1.LayoutMode = FlowLayoutMode.Horizontal;
flowLayout1.Alignment = FlowAlignment.Near;
flowLayout1.HGap = 5;
flowLayout1.VGap = 5;
垂直控件列表
flowLayout1.LayoutMode = FlowLayoutMode.Vertical;
flowLayout1.Alignment = FlowAlignment.Center;
flowLayout1.HGap = 10;
flowLayout1.VGap = 5;
响应式表单布局
flowLayout1.Alignment = FlowAlignment.ChildConstraints;
flowLayout1.AutoHeight = true;
// Set per-control constraints using SetConstraints()
从右到左的流式布局
flowLayout1.ReverseRows = true;
flowLayout1.LayoutMode = FlowLayoutMode.Horizontal;

关键属性参考

属性类型用途
LayoutModeFlowLayoutMode水平或垂直排列
AlignmentFlowAlignment居中、靠近、靠远或使用 ChildConstraints
HGapint控件之间的水平间距
VGapint控件之间的垂直间距
AutoHeightbool启用容器高度自动调整
ReverseRowsbool反转流向(RTL/BTL)
ContainerControlControl容纳子控件的容器

常见用例

数据录入表单

排列输入字段、标签和按钮,并结合自动换行与基于约束的对齐,构建响应式表单布局。

工具按钮栏

创建动态按钮集合,并在窗口大小变化时智能换行。

选项面板

垂直排列复选框和单选按钮,并自动调整大小。

响应式仪表板

结合 FlowLayout 与面板,构建灵活的仪表板布局,智能调整内容大小。

配置对话框

使用基于约束的布局,构建具有复杂对齐需求的对话框表单。


下一步: 根据需求选择上面的参考资料,或从“入门指南”开始首次实现。

评论

支持 Markdown