TableLayoutPanel.SetColumn(Control, Int32) Method


Sets the column position of the specified child control.

 void SetColumn(System::Windows::Forms::Control ^ control, int column);
public void SetColumn (System.Windows.Forms.Control control, int column);
member this.SetColumn : System.Windows.Forms.Control * int -> unit



The control to move to another column.


The column to which control will be moved.


The following code example uses the SetColumn method to swap two controls contained within a TableLayoutPanel control. The example assumes a TableLayoutPanel control with at least two rows.

private void swapControlsBtn_Click(
    System.Object sender, 
    System.EventArgs e)
    Control c1 = this.TableLayoutPanel1.GetControlFromPosition(0, 0);
    Control c2 = this.TableLayoutPanel1.GetControlFromPosition(0, 1);

    if( c1 != null && c2 != null )
        this.TableLayoutPanel1.SetColumn(c2, 0);
        this.TableLayoutPanel1.SetColumn(c1, 1);
Private Sub swapControlsBtn_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles swapControlsBtn.Click

    Dim c1 As Control = Me.TableLayoutPanel1.GetControlFromPosition(0, 0)
    Dim c2 As Control = Me.TableLayoutPanel1.GetControlFromPosition(0, 1)

    If c1 IsNot Nothing And c2 IsNot Nothing Then

        Me.TableLayoutPanel1.SetColumn(c2, 0)
        Me.TableLayoutPanel1.SetColumn(c1, 1)

    End If

End Sub


The SetColumn method moves the control to another column in the TableLayoutPanel. The columns and rows have zero-based indexes. Setting the column position to -1 specifies that the control will flow to the first empty cell.

This method reapplies the table layout to all controls in the TableLayoutPanel.

This method is called by the Column property, which the panel adds to its child controls at design time.

Applies to

See also