Training
Module
Customize layout in .NET MAUI XAML pages - Training
Create consistent user interfaces across different devices by using StackLayout and Grid.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
The TableLayoutPanel control supports the Anchor and Dock properties in its child controls.
Create a TableLayoutPanel control on your form.
Set the value of the TableLayoutPanel control's ColumnCount and RowCount properties to 1.
Create a Button control in the TableLayoutPanel control. The Button occupies the upper-left corner of the cell.
Change the value of the Button control's Anchor property to Left
. The Button control moves to align with the left border of the cell.
Change the value of the Button control's Anchor property to Top, Left
. The Button control moves to occupy the top-left corner of the cell.
Repeat step 5 with a value of Top, Right
to move the Button control to the top-right corner of the cell. Repeat with values of Bottom, Left
and Bottom, Right
.
Change the value of the Button control's Anchor property to Left, Right
. The Button control is resized to stretch across the cell.
Note
This behavior differs from the behavior of other container controls. In other container controls, the child control is not resized when the Anchor property is set to Left, Right
or Top, Bottom
.
Change the value of the Button control's Anchor property to Top, Bottom
. The Button control is resized to stretch from the top to the bottom of the cell.
Change the value of the Button control's Anchor property to Top, Bottom, Left, Right
. The Button control is resized to fill the cell.
Change the value of the Button control's Anchor property to None
. The Button control is resized and centered in the cell.
Change the value of the Button control's Dock property to Left. The Button control moves to align with the left border of the cell. The Button control retains its width, but its height is resized to fill the cell vertically.
Note
This is the same behavior that occurs in other container controls.
Change the value of the Button control's Dock property to Fill. The Button control is resized to fill the cell.
The following illustration shows five buttons anchored in five separate TableLayoutPanel cells.
The following illustration shows four buttons anchored in the corners of four separate TableLayoutPanel cells.
The following illustration shows three buttons stretched by anchoring in three separate TableLayoutPanel cells.
The following code example demonstrates all the combinations of Anchor property values for a Button control in a TableLayoutPanel control.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
public class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private System.ComponentModel.IContainer components = null;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Button button7;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Button button9;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
private System.Windows.Forms.Button button10;
private System.Windows.Forms.Button button11;
private System.Windows.Forms.Button button12;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.button6 = new System.Windows.Forms.Button();
this.button7 = new System.Windows.Forms.Button();
this.button8 = new System.Windows.Forms.Button();
this.button9 = new System.Windows.Forms.Button();
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
this.button10 = new System.Windows.Forms.Button();
this.button11 = new System.Windows.Forms.Button();
this.button12 = new System.Windows.Forms.Button();
this.tableLayoutPanel1.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.tableLayoutPanel3.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
this.tableLayoutPanel1.ColumnCount = 5;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tableLayoutPanel1.Controls.Add(this.button1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.button2, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.button3, 2, 0);
this.tableLayoutPanel1.Controls.Add(this.button4, 3, 0);
this.tableLayoutPanel1.Controls.Add(this.button5, 4, 0);
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 12);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(731, 100);
this.tableLayoutPanel1.TabIndex = 0;
//
// button1
//
this.button1.Anchor = System.Windows.Forms.AnchorStyles.None;
this.button1.AutoSize = true;
this.button1.Location = new System.Drawing.Point(34, 38);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(79, 23);
this.button1.TabIndex = 0;
this.button1.Text = "Anchor=None";
//
// button2
//
this.button2.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.button2.AutoSize = true;
this.button2.Location = new System.Drawing.Point(150, 38);
this.button2.Name = "button2";
this.button2.TabIndex = 1;
this.button2.Text = "Anchor=Left";
//
// button3
//
this.button3.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.button3.AutoSize = true;
this.button3.Location = new System.Drawing.Point(328, 4);
this.button3.Name = "button3";
this.button3.TabIndex = 2;
this.button3.Text = "Anchor=Top";
//
// button4
//
this.button4.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.button4.AutoSize = true;
this.button4.Location = new System.Drawing.Point(503, 38);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(78, 23);
this.button4.TabIndex = 3;
this.button4.Text = "Anchor=Right";
//
// button5
//
this.button5.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
this.button5.AutoSize = true;
this.button5.Location = new System.Drawing.Point(614, 73);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(86, 23);
this.button5.TabIndex = 4;
this.button5.Text = "Anchor=Bottom";
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel2.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
this.tableLayoutPanel2.ColumnCount = 4;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel2.Controls.Add(this.button6, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.button7, 1, 0);
this.tableLayoutPanel2.Controls.Add(this.button8, 2, 0);
this.tableLayoutPanel2.Controls.Add(this.button9, 3, 0);
this.tableLayoutPanel2.Location = new System.Drawing.Point(12, 118);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(731, 100);
this.tableLayoutPanel2.TabIndex = 1;
//
// button6
//
this.button6.AutoSize = true;
this.button6.Location = new System.Drawing.Point(4, 4);
this.button6.Name = "button6";
this.button6.TabIndex = 0;
this.button6.Text = "Top, Left";
//
// button7
//
this.button7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.button7.AutoSize = true;
this.button7.Location = new System.Drawing.Point(286, 4);
this.button7.Name = "button7";
this.button7.TabIndex = 1;
this.button7.Text = "Top, Right";
//
// button8
//
this.button8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button8.AutoSize = true;
this.button8.Location = new System.Drawing.Point(466, 73);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(77, 23);
this.button8.TabIndex = 2;
this.button8.Text = "Bottom, Right";
//
// button9
//
this.button9.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.button9.AutoSize = true;
this.button9.Location = new System.Drawing.Point(550, 73);
this.button9.Name = "button9";
this.button9.TabIndex = 3;
this.button9.Text = "Bottom, Left";
//
// tableLayoutPanel3
//
this.tableLayoutPanel3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel3.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
this.tableLayoutPanel3.ColumnCount = 3;
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel3.Controls.Add(this.button10, 0, 0);
this.tableLayoutPanel3.Controls.Add(this.button11, 1, 0);
this.tableLayoutPanel3.Controls.Add(this.button12, 2, 0);
this.tableLayoutPanel3.Location = new System.Drawing.Point(12, 225);
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.RowCount = 1;
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel3.Size = new System.Drawing.Size(731, 100);
this.tableLayoutPanel3.TabIndex = 2;
//
// button10
//
this.button10.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.button10.Location = new System.Drawing.Point(4, 39);
this.button10.Name = "button10";
this.button10.Size = new System.Drawing.Size(236, 23);
this.button10.TabIndex = 0;
this.button10.Text = "Left, Right";
//
// button11
//
this.button11.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)));
this.button11.Location = new System.Drawing.Point(327, 4);
this.button11.Name = "button11";
this.button11.Size = new System.Drawing.Size(75, 93);
this.button11.TabIndex = 1;
this.button11.Text = "Top, Bottom";
//
// button12
//
this.button12.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.button12.Location = new System.Drawing.Point(490, 4);
this.button12.Name = "button12";
this.button12.Size = new System.Drawing.Size(237, 93);
this.button12.TabIndex = 2;
this.button12.Text = "Top, Bottom, Left, Right";
//
// Form1
//
this.AutoSize = true;
this.ClientSize = new System.Drawing.Size(755, 338);
this.Controls.Add(this.tableLayoutPanel3);
this.Controls.Add(this.tableLayoutPanel2);
this.Controls.Add(this.tableLayoutPanel1);
this.Name = "Form1";
this.Text = "Form1";
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
this.tableLayoutPanel3.ResumeLayout(false);
this.ResumeLayout(false);
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
}
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private components As System.ComponentModel.IContainer = Nothing
Private tableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
Private button1 As System.Windows.Forms.Button
Private button2 As System.Windows.Forms.Button
Private button3 As System.Windows.Forms.Button
Private button4 As System.Windows.Forms.Button
Private button5 As System.Windows.Forms.Button
Private tableLayoutPanel2 As System.Windows.Forms.TableLayoutPanel
Private button6 As System.Windows.Forms.Button
Private button7 As System.Windows.Forms.Button
Private button8 As System.Windows.Forms.Button
Private button9 As System.Windows.Forms.Button
Private tableLayoutPanel3 As System.Windows.Forms.TableLayoutPanel
Private button10 As System.Windows.Forms.Button
Private button11 As System.Windows.Forms.Button
Private button12 As System.Windows.Forms.Button
Protected Overrides Sub Dispose(disposing As Boolean)
If disposing AndAlso (components IsNot Nothing) Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
Private Sub InitializeComponent()
Me.tableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.button1 = New System.Windows.Forms.Button()
Me.button2 = New System.Windows.Forms.Button()
Me.button3 = New System.Windows.Forms.Button()
Me.button4 = New System.Windows.Forms.Button()
Me.button5 = New System.Windows.Forms.Button()
Me.tableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel()
Me.button6 = New System.Windows.Forms.Button()
Me.button7 = New System.Windows.Forms.Button()
Me.button8 = New System.Windows.Forms.Button()
Me.button9 = New System.Windows.Forms.Button()
Me.tableLayoutPanel3 = New System.Windows.Forms.TableLayoutPanel()
Me.button10 = New System.Windows.Forms.Button()
Me.button11 = New System.Windows.Forms.Button()
Me.button12 = New System.Windows.Forms.Button()
Me.tableLayoutPanel1.SuspendLayout()
Me.tableLayoutPanel2.SuspendLayout()
Me.tableLayoutPanel3.SuspendLayout()
Me.SuspendLayout()
'
' tableLayoutPanel1
'
Me.tableLayoutPanel1.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles)
Me.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single
Me.tableLayoutPanel1.ColumnCount = 5
Me.tableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F))
Me.tableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F))
Me.tableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F))
Me.tableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F))
Me.tableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F))
Me.tableLayoutPanel1.Controls.Add(Me.button1, 0, 0)
Me.tableLayoutPanel1.Controls.Add(Me.button2, 1, 0)
Me.tableLayoutPanel1.Controls.Add(Me.button3, 2, 0)
Me.tableLayoutPanel1.Controls.Add(Me.button4, 3, 0)
Me.tableLayoutPanel1.Controls.Add(Me.button5, 4, 0)
Me.tableLayoutPanel1.Location = New System.Drawing.Point(12, 12)
Me.tableLayoutPanel1.Name = "tableLayoutPanel1"
Me.tableLayoutPanel1.RowCount = 1
Me.tableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F))
Me.tableLayoutPanel1.Size = New System.Drawing.Size(731, 100)
Me.tableLayoutPanel1.TabIndex = 0
'
' button1
'
Me.button1.Anchor = System.Windows.Forms.AnchorStyles.None
Me.button1.AutoSize = True
Me.button1.Location = New System.Drawing.Point(34, 38)
Me.button1.Name = "button1"
Me.button1.Size = New System.Drawing.Size(79, 23)
Me.button1.TabIndex = 0
Me.button1.Text = "Anchor=None"
'
' button2
'
Me.button2.Anchor = System.Windows.Forms.AnchorStyles.Left
Me.button2.AutoSize = True
Me.button2.Location = New System.Drawing.Point(150, 38)
Me.button2.Name = "button2"
Me.button2.TabIndex = 1
Me.button2.Text = "Anchor=Left"
'
' button3
'
Me.button3.Anchor = System.Windows.Forms.AnchorStyles.Top
Me.button3.AutoSize = True
Me.button3.Location = New System.Drawing.Point(328, 4)
Me.button3.Name = "button3"
Me.button3.TabIndex = 2
Me.button3.Text = "Anchor=Top"
'
' button4
'
Me.button4.Anchor = System.Windows.Forms.AnchorStyles.Right
Me.button4.AutoSize = True
Me.button4.Location = New System.Drawing.Point(503, 38)
Me.button4.Name = "button4"
Me.button4.Size = New System.Drawing.Size(78, 23)
Me.button4.TabIndex = 3
Me.button4.Text = "Anchor=Right"
'
' button5
'
Me.button5.Anchor = System.Windows.Forms.AnchorStyles.Bottom
Me.button5.AutoSize = True
Me.button5.Location = New System.Drawing.Point(614, 73)
Me.button5.Name = "button5"
Me.button5.Size = New System.Drawing.Size(86, 23)
Me.button5.TabIndex = 4
Me.button5.Text = "Anchor=Bottom"
'
' tableLayoutPanel2
'
Me.tableLayoutPanel2.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles)
Me.tableLayoutPanel2.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single
Me.tableLayoutPanel2.ColumnCount = 4
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F))
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F))
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F))
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F))
Me.tableLayoutPanel2.Controls.Add(Me.button6, 0, 0)
Me.tableLayoutPanel2.Controls.Add(Me.button7, 1, 0)
Me.tableLayoutPanel2.Controls.Add(Me.button8, 2, 0)
Me.tableLayoutPanel2.Controls.Add(Me.button9, 3, 0)
Me.tableLayoutPanel2.Location = New System.Drawing.Point(12, 118)
Me.tableLayoutPanel2.Name = "tableLayoutPanel2"
Me.tableLayoutPanel2.RowCount = 1
Me.tableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F))
Me.tableLayoutPanel2.Size = New System.Drawing.Size(731, 100)
Me.tableLayoutPanel2.TabIndex = 1
'
' button6
'
Me.button6.AutoSize = True
Me.button6.Location = New System.Drawing.Point(4, 4)
Me.button6.Name = "button6"
Me.button6.TabIndex = 0
Me.button6.Text = "Top, Left"
'
' button7
'
Me.button7.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles)
Me.button7.AutoSize = True
Me.button7.Location = New System.Drawing.Point(286, 4)
Me.button7.Name = "button7"
Me.button7.TabIndex = 1
Me.button7.Text = "Top, Right"
'
' button8
'
Me.button8.Anchor = CType(System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles)
Me.button8.AutoSize = True
Me.button8.Location = New System.Drawing.Point(466, 73)
Me.button8.Name = "button8"
Me.button8.Size = New System.Drawing.Size(77, 23)
Me.button8.TabIndex = 2
Me.button8.Text = "Bottom, Right"
'
' button9
'
Me.button9.Anchor = CType(System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left, System.Windows.Forms.AnchorStyles)
Me.button9.AutoSize = True
Me.button9.Location = New System.Drawing.Point(550, 73)
Me.button9.Name = "button9"
Me.button9.TabIndex = 3
Me.button9.Text = "Bottom, Left"
'
' tableLayoutPanel3
'
Me.tableLayoutPanel3.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles)
Me.tableLayoutPanel3.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single
Me.tableLayoutPanel3.ColumnCount = 3
Me.tableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F))
Me.tableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F))
Me.tableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F))
Me.tableLayoutPanel3.Controls.Add(Me.button10, 0, 0)
Me.tableLayoutPanel3.Controls.Add(Me.button11, 1, 0)
Me.tableLayoutPanel3.Controls.Add(Me.button12, 2, 0)
Me.tableLayoutPanel3.Location = New System.Drawing.Point(12, 225)
Me.tableLayoutPanel3.Name = "tableLayoutPanel3"
Me.tableLayoutPanel3.RowCount = 1
Me.tableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F))
Me.tableLayoutPanel3.Size = New System.Drawing.Size(731, 100)
Me.tableLayoutPanel3.TabIndex = 2
'
' button10
'
Me.button10.Anchor = CType(System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles)
Me.button10.Location = New System.Drawing.Point(4, 39)
Me.button10.Name = "button10"
Me.button10.Size = New System.Drawing.Size(236, 23)
Me.button10.TabIndex = 0
Me.button10.Text = "Left, Right"
'
' button11
'
Me.button11.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom, System.Windows.Forms.AnchorStyles)
Me.button11.Location = New System.Drawing.Point(327, 4)
Me.button11.Name = "button11"
Me.button11.Size = New System.Drawing.Size(75, 93)
Me.button11.TabIndex = 1
Me.button11.Text = "Top, Bottom"
'
' button12
'
Me.button12.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles)
Me.button12.Location = New System.Drawing.Point(490, 4)
Me.button12.Name = "button12"
Me.button12.Size = New System.Drawing.Size(237, 93)
Me.button12.TabIndex = 2
Me.button12.Text = "Top, Bottom, Left, Right"
'
' Form1
'
Me.AutoSize = True
Me.ClientSize = New System.Drawing.Size(755, 338)
Me.Controls.Add(tableLayoutPanel3)
Me.Controls.Add(tableLayoutPanel2)
Me.Controls.Add(tableLayoutPanel1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.tableLayoutPanel1.ResumeLayout(False)
Me.tableLayoutPanel1.PerformLayout()
Me.tableLayoutPanel2.ResumeLayout(False)
Me.tableLayoutPanel2.PerformLayout()
Me.tableLayoutPanel3.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
<STAThread()> _
Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(New Form1())
End Sub
End Class
This example requires:
.NET Desktop feedback feedback
.NET Desktop feedback is an open source project. Select a link to provide feedback:
Training
Module
Customize layout in .NET MAUI XAML pages - Training
Create consistent user interfaces across different devices by using StackLayout and Grid.
Documentation
AutoSize Behavior in the TableLayoutPanel Control - Windows Forms .NET Framework
Learn more about how to autosize behavior in the TableLayoutPanel control in Windows Forms, which supports automatic sizing behavior in two ways.
How to: Align and Stretch a Control in a TableLayoutPanel Control - Windows Forms .NET Framework
Learn how to align and stretch a control in a TableLayoutPanel control with Anchor and Dock properties.
TableLayoutPanel Control Overview - Windows Forms .NET Framework
Learn how the TableLayoutPanel control arranges its content in a grid and can change as the application environment changes.