# TableLayoutPanel

The `TableLayoutPanel` control arranges its contents in a grid. Because the layout is performed both at design time and run time, it can change dynamically as the application environment changes. This gives the controls in the panel the ability to proportionally resize, so it can respond to changes such as the parent control resizing or text length changing due to localization.

Any Wisej.NET control can be a child of the `TableLayoutPanel` control, including other instances of `TableLayoutPanel`. This allows you to construct sophisticated layouts that adapt to changes at runtime.

The `TableLayoutPanel` control can expand to accommodate new controls when they are added, depending on the value of the `RowCount`, `ColumnCount`, and `GrowStyle` properties. Setting either the `RowCount` or `ColumnCount` property to a value of 0 specifies that the `TableLayoutPanel` will be unbound in the corresponding direction.

You can also control the direction of expansion (horizontal or vertical) after the `TableLayoutPanel` control is full of child controls. By default, the `TableLayoutPanel` control expands downward by adding rows.

{% hint style="info" %}
For a full list of properties, methods and events see the [API documentation.](http://docs.wisej.com/api)
{% endhint %}

## Features

### AutoSize

When enabled, the `TableLayoutPanel` control is able to resize itself to fit its contents according to the `AutoSizeMode` property specified.

{% content-ref url="/pages/mursD6ihgBT546ue8poi" %}
[Layouts](/docs/concepts/layouts.md)
{% endcontent-ref %}

## Advanced

### JavaScript Widget

| Item                | Description                                                                                                                                                                                                                                                          |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Class name          | "wisej.web.Panel"                                                                                                                                                                                                                                                    |
| Theme appearance    | "panel", see [Themes](https://docs.wisej.com/theme-builder/theme-elements/elements).                                                                                                                                                                                 |
| Child components    | "pane" is the container. "captionbar" is the header. "title" is the title of the panel. "icon" is the icon of the panel, if applicable. "close-button" is the close button of the panel, if applicable. See [JavaScript](/docs/concepts/javascript-object-model.md). |
| Toolcontainer state | "panel", see [Embedded Tools](/docs/controls/general/embedded-tools.md).                                                                                                                                                                                             |
| Source code         | [https://github.com/iceteagroup/wisej-js](https://github.com/iceteagroup/wisej-js/blob/master/wisej.web.TextBox.js)                                                                                                                                                  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/docs/controls/containers/tablelayoutpanel.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
