Table Layout Panel
The TableLayoutPanel control is a container control where child controls are
added within a table structure. Each cell in the table contains a single
control, unless a container such as a Panel is added first.
CellBorderStyle - This property
determines if the cell is outlined with a border or not. A value from the
TableLayoutPanelCellBorderStyle enumeration is required, the default value is
Inset - A
single-line sunken border.
A double-line sunken border.
None - No
Outset - A
single-line raised border.
- A double-line raised border.
- A single-line border containing a raised portion.
Single - A
Determines the number of columns in the table.
ColumnStyles - A
collection of column styles, one for each column in the TableLayoutPanel
Controls - Gets the
collection of controls contained within the control.
Determines whether the control should expand to accommodate new cells when all
existing cells are occupied. A value from the TableLayoutPanelGrowStyle
enumeration is required, the default value is AddRows:
- AddColumns - The TableLayoutPanel gains additional
columns after it is full.
- AddRows - The TableLayoutPanel gains additional rows
after it is full.
- FixedSize - The TableLayoutPanel does not allow
additional rows or columns after it is full.
- RowCount - Determines the number of rows in the
- RowStyles - A collection
of row styles, one for each row in the TableLayoutPanel control.
This dialog allows you to edit the SizeType property of each of the
Columns and Rows in the TableLayoutPanel. The SizeType property determines how
the Height (RowStyle) or Width (ColumnStyle) should be interpreted. A value from
the SizeType enumeration is required, the default value is Percent:
- Absolute - The row or column should be sized to an
exact number of pixels.
- AutoSize - The row or column should be automatically
sized to share space with its peers.
- Percent - The row or column should be sized as a
percentage of the parent container.
Adding a TableLayoutPanel manually
// Create TableLayoutPanel
TableLayoutPanel tlp = new TableLayoutPanel();
// Set the BorderStyle to Inset
tlp.CellBorderStyle = TableLayoutPanelCellBorderStyle.Inset;
// Grid has two columns
tlp.ColumnCount = 2;
// Grid has two rows
tlp.RowCount = 2;
// If grid is full add extra cells by adding column
tlp.GrowStyle = TableLayoutPanelGrowStyle.AddColumns;
// Padding (pixels)within each cell (left, top, right, bottom)
tlp.Padding = new Padding(1, 1, 4, 5);
// Add TableLayoutPanel to the Forms controls
Adding controls manually
Adding a control to a TableLayoutPanel at run time can be
done in a couple of ways. Simply using the Add method with just the name of the
control adds the control to the first available cell.
// Create buttons
Button button1 = new Button();
button1.Text = "Click Me";
// Add buttons to TableLayoutPanel
Show All Comments