I'm trying to dynamically add some controls (currently text boxes and labels) to a form. There isn't a set number of pairs to be drawn`.
Example of what I'm trying to achieve.

As you can see, the table runs out of space, so it moves over to the right.
Currently, I am using a TableLayoutPanel within a FlowLayoutPanel.
Column 0 contains the label and column 1 contains the textbox.
How do I, or rather, can I get the FlowLayoutPanel to split the table?
private void Form1_Load(object sender, EventArgs e)
{
FlowLayoutPanel flp = new FlowLayoutPanel()
{
Location = new Point(0, 0),
Dock = DockStyle.Fill,
AutoSize = false,
FlowDirection = FlowDirection.TopDown,
AutoScroll = true,
BorderStyle = BorderStyle.Fixed3D,
WrapContents = true
};
Controls.Add(flp);
TableLayoutPanel tlp = new TableLayoutPanel()
{
ColumnCount = 2,
Height = ClientSize.Height,
BackColor=Color.AliceBlue
};
flp.Controls.Add(tlp);
for (int i = 0; i < 50; i++)
{
Label _label = new Label()
{
Text = i.ToString("00"),
AutoSize = true
};
tlp.Controls.Add(_label, 0, i);
TextBox _textbox = new TextBox();
tlp.Controls.Add(_textbox, 1, i);
}

DataGridView, not aTableLayoutPanel.