C#TableLayout在添加行时高度加倍?

时间:2014-10-15 16:02:32

标签: c# tablelayout

我有一个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;

        }

1 个答案:

答案 0 :(得分:0)

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

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

注意:绝对意味着行的高度是固定大小,否则你使用百分比来允许它扩展。