Добавление строки после добавления столбцов с использованием TableLayoutPanel - PullRequest
0 голосов
/ 20 июля 2011

Я пытаюсь динамически добавлять столбцы и строки в TableLayoutPanel.Пока у меня есть следующий код:

 l = new Label();
 l.Text = "" + headers[headers.Count-1];
 ColumnStyle cStyle = new ColumnStyle(SizeType.AutoSize);
 theTable.ColumnStyles.Add(cStyle);
 theTable.Controls.Add(l, colCount, 0);
 colCount++;

, который добавляет все нужные мне столбцы.Затем я пытаюсь переключиться на добавление строк, используя:

theTable.GrowStyle = TableLayoutPanelGrowStyle.AddRows;

Но это не работает.Вместо этого он берет добавленные мной столбцы и превращает их в строки.Есть ли способ динамически создавать столбцы, а затем динамически создавать строки?

Спасибо

1 Ответ

4 голосов
/ 20 июля 2011

Я не могу воспроизвести вашу проблему:

private void AddTLP()
{
  List<string> headers = new List<string>();
  headers.Add("Column 1");
  headers.Add("Column 2");
  headers.Add("Column 3");

  TableLayoutPanel tlp = new TableLayoutPanel();
  tlp.Size = new Size(356, 120);
  tlp.BackColor = Color.Gray;

  for (int i = 0; i < headers.Count; i++)
  {
    Label l = new Label();
    l.Text = headers[i].ToString();

    ColumnStyle cStyle = new ColumnStyle(SizeType.AutoSize);
    tlp.ColumnStyles.Add(cStyle);
    tlp.Controls.Add(l, i, 0);
  }

  tlp.GrowStyle = TableLayoutPanelGrowStyle.AddRows;

  // Add controls to test growth:
  tlp.Controls.Add(new Button(), 0, 1);
  tlp.Controls.Add(new TextBox(), 1, 2);

  this.Controls.Add(tlp);
}

Должен быть какой-то код, который вы не показываете, который вызывает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...