--- title: "How to: Implement a Custom Layout Engine" ms.date: "03/30/2017" dev_langs: - "csharp" - "vb" - "cpp" helpviewer_keywords: - "layout engines [Windows Forms], custom" - "TableLayoutPanel control [Windows Forms], layout engine" - "layout engines [Windows Forms], implementing" - "FlowLayoutPanel control [Windows Forms], layout engine" ms.assetid: f91aa91c-29f4-4089-95ca-5d48b774b00e --- # How to: Implement a Custom Layout Engine The following code example demonstrates how to create a custom layout engine that performs a simple flow layout. It implements a panel control named `DemoFlowPanel`, which overrides the property to provide an instance of the `DemoFlowLayout` class. ## Example [!code-cpp[System.Windows.Forms.Layout.LayoutEngine#1](~/samples/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.Layout.LayoutEngine/cpp/DemoFlowLayout.cpp#1)] [!code-csharp[System.Windows.Forms.Layout.LayoutEngine#1](~/samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.Layout.LayoutEngine/CS/DemoFlowLayout.cs#1)] [!code-vb[System.Windows.Forms.Layout.LayoutEngine#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.Layout.LayoutEngine/VB/DemoFlowLayout.vb#1)] ## See also - -