Right. I got here so far:
Code:
Public Class Form2
    Dim i As Integer = 0
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'INCREMENT
        i += 1
        'MAKE GROWING ALL 50%
        TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
        'ADD A LABEL FOR INSTENCE
        TableLayoutPanel1.Controls.Add(New Label, TableLayoutPanel1.ColumnCount - 1, 0)
        'MANIPULATE ITS PROPERTIES
        TableLayoutPanel1.Controls.Item(TableLayoutPanel1.ColumnCount - 1).Text = i.ToString()
        TableLayoutPanel1.Controls.Item(TableLayoutPanel1.ColumnCount - 1).Dock = DockStyle.Top
    End Sub
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'MAKE TABLE GROW IN ROWS
        TableLayoutPanel1.GrowStyle = TableLayoutPanelGrowStyle.AddColumns
    End Sub
End Class
Questions:
1) Why by pressing button1 (Incrementing a column filled with a label which contains current i value) make previous text string empty?
2) Why I don't have access to other 'Label' properties? (Text orientation, Autosize, consider someone have a UserControl in it.)

I might use wrong code structure but it still runs a bit. If I did, Please tell me where's my fault.