2011-07-20 44 views
0

TableLayoutPanelに列と行の両方を動的に追加しようとしています。私は今まで次のコードを持っています: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; 

ただし、これは機能しません。代わりに、私が追加した列を取り、列にします。動的に列を作成して動的に行を作成する方法はありますか?

おかげ

答えて

4

私はあなたの問題を再現できませんでした:

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); 
} 

は、あなたはそれが問題を引き起こしている表示されていないいくつかのコードが存在しなければなりません。

関連する問題