3

我有一个 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) 的次数是否有限制?

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

4

2 回答 2

2

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

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

  2. 将 AutoScroll 和 AutoSize 设置为 True

  3. 转到编辑行和列

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

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

于 2011-12-11T12:41:30.857 回答
0

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

于 2009-11-09T13:09:24.183 回答