TableLayoutPanel Controls.Add问题

时间:2009-11-09 12:47:31

标签: c# tablelayoutpanel

我有一个包含2列和4行的TableLayputPanel,我正在尝试在运行时向其添加按钮。我想动态地将每个按钮添加到第一个单元格:

private int nextIndex = 1;

private void bAddButton_Click(object sender, EventArgs e)
{
    Button newButton = new Button();
    newButton.Text = nextIndex.ToString();
    tableLayoutPanel1.Controls.Add(newButton, 0, 0);  // first cell
    nextIndex++;
}

据我所知,这应该将所有现有的按钮移动到一个单元格。这似乎在前三次工作,但之后是将新按钮插入第二个单元格,然后是第三个单元格,然后是第四个单元格......

对于给定单元格,您可以调用Controls.Add(ctrl,column,row)的次数有限制吗?

我有点卡住了,我做错了什么?

2 个答案:

答案 0 :(得分:2)

我刚遇到同样的问题!帮助我的是:

  1. 在表单的设计视图中,单击表格

  2. 将AutoScroll和AutoSize设置为True

  3. 转到“编辑行和列”

  4. 单击第一行(可能只是)并将其大小类型设置为AutoSize

  5. 所有新行也将具有大小类型AutoSize。多亏了这一点,我的行被正确定位并调整大小。

答案 1 :(得分:0)

要向单个单元格添加多个按钮,您需要将面板添加为单元格中的唯一控件,然后将按钮添加到该面板。