动态向表格布局面板添加行

3

我正在尝试动态地向表格布局面板添加带有文本框的行,这里的代码可以添加行,但间距不正确。当它添加行时,该行比前一行小。有什么想法可以添加与上一行相同格式的行吗?谢谢。

    int A = 1;
    public TextBox AddNewTextBox()
    {
        TextBox txt = new TextBox();
        this.Controls.Add(txt);
        txt.Top = A * 28;
        txt.Left = 15;
        txt.Text = " ";
        A = A + 1;
        return txt;

    }
    public void DeleteTextBox()
    {
        if (A >= 2)
        {
            tableLayoutPanel1.Controls.RemoveAt(A);
            A--;
        }
    }
    private void AddRowBTN_Click(object sender, EventArgs e)
    {
        this.tableLayoutPanel1.RowCount++;

        this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 28.57143F));
        tableLayoutPanel1.Controls.Add(AddNewTextBox());
        if(A >= 10)
        {
            this.tableLayoutPanel1.Size = new Size((282),(207*2)) ;
        }
    }
    private void button8_Click(object sender, EventArgs e)
    { 
        DeleteTextBox();
    }
1个回答

1

tableLayoutPanelAutoSize 属性设置为 true 或在表单加载时或表单构造函数内使用以下代码。

tableLayoutPanel1.AutoSize = true;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接