C#TableLayout添加行时高度加倍

本文关键字:高度 添加行 C#TableLayout | 更新日期: 2023-09-27 18:26:34

我有一个tableLayout,每次单击按钮都会向其中添加一行。

但当我添加无法放入tableLayout的行时,它会水平展开,这很好。然而,每次它"扩展"(当滚动条填充到最大值时)时,它都会扩展到两倍的大小,而不仅仅是1行的高度。

我把重点放在第5行,所以如果表一次只能显示5个,那么用户将在屏幕上有5个,在顶部有5个空闲。然后,当从下到上添加行时,他们可以向下滚动查看所有旧的行。

知道吗?

 private void button1_Click(object sender, EventArgs e)
        {     
            Addlabel("message", "response");
        }

        private void Addlabel(String message, string response)
        {
            Label messageLbl = new Label();
            messageLbl.Dock = DockStyle.Fill;
            messageLbl.Text = message;
            messageLbl.Font = new Font("Tahoma", 12.0F); 
            Label responseLbl = new Label();
            responseLbl.Dock = DockStyle.Fill;
            responseLbl.Text = response;
            responseLbl.Font = new Font("Tahoma", 12.0F); 
            messageLbl.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            messageLbl.BorderStyle = BorderStyle.FixedSingle;
            responseLbl.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            responseLbl.BorderStyle = BorderStyle.FixedSingle;
            tableLayoutPanel1.Controls.Add(messageLbl, 0, tableLayoutPanel1.RowCount);
            tableLayoutPanel1.Controls.Add(responseLbl, 1, tableLayoutPanel1.RowCount);
            tableLayoutPanel1.RowCount++;
            tableLayoutPanel1.VerticalScroll.Value = 5;
        }

C#TableLayout添加行时高度加倍

您需要指定要添加的行的高度,即:

 tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle (System.Windows.Forms.SizeType.Absolute, 20F));

注意:Absolute表示行的高度是固定大小的,否则您可以使用Percent来扩展它。