devexpress-winforms-layout
DevExpress WinForms Layout Management
DevExpress WinForms ships a family of layout controls that cover form composition scenarios — from responsive data-entry forms to IDE-style dockable tool windows. The main controls ship in the DevExpress.Win.Navigation NuGet package; the lightweight StackPanel/TablePanel live in DevExpress.Utils (pulled in transitively).
| Control | Class | Purpose |
|---|---|---|
LayoutControl |
DevExpress.XtraLayout.LayoutControl |
Responsive data forms with auto-alignment, groups, tabs, and runtime customization |
DataLayoutControl |
DevExpress.XtraDataLayout.DataLayoutControl |
Auto-generates editor layout from a bound data source |
DockManager |
DevExpress.XtraBars.Docking.DockManager |
Visual Studio-style dockable, floatable, auto-hiding tool panels |
StackPanel |
DevExpress.Utils.Layout.StackPanel |
Lightweight directional flow container (ships in DevExpress.Utils) |
TablePanel |
DevExpress.Utils.Layout.TablePanel |
Lightweight rows-and-columns grid container (ships in DevExpress.Utils) |
Common misconception: There is no separate
FlowLayoutControlorTableLayoutControlclass. Flow Layout and Table Layout are modes (LayoutMode) on aLayoutControlGroupinsideLayoutControl.
Author layouts in the form's
*.Designer.csby default. Generate the layout insideInitializeComponent(), the same way the Visual Studio WinForms designer serializes it — not in the form constructor body. Only build a layout in runtime code when the user explicitly asks for it or the structure is genuinely dynamic/data-driven. See rule 1 in Constraints & Rules and the worked example in references/getting-started.md. (For a form generated from a table or class, preferDataLayoutControl+RetrieveFields()over a hand-builtLayoutControl.)