TableLayoutPanel's Control Columns properties
These properties only exist in the Properties Window, magic provided by the IExtenderProvider interface. They don't exist at runtime. Extended properties are:
- ColumnSpan. Runtime: GetColumnSpan() and SetColumnSpan()
- RowSpan. Runtime: GetRowSpan() and SetRowSpan()
- Row. Runtime: GetRow() and SetRow()
- Cell. Runtime: GetCellPosition() and SetCellPosition()
- Column. Runtime: GetColumn() and SetColumn()
Obviously TLP was highly optimized to be used from the designer. It's kinda of a pain at runtime.
Although the properties designer shows the row and column as properties of the added control thay are set programatically using a method on the table layout panel itself (SetColumn(control, index) and SetRow(control, index)).
This pattern of behaviour is similar the tool tip component and the error component.
Go here.
This properties are added by means of "extending properties", something that other controls like ToolTip
uses.
// 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
this.Controls.Add(tlp);
for more check this
http://en.csharp-online.net/TableLayoutPanel
精彩评论