【问题标题】:C# TableLayout doubling in height when adding rows?C# TableLayout 添加行时高度加倍?
【发布时间】:2014-10-16 00:30:52
【问题描述】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多