tableLayoutPanel的row0不断变大

时间:2014-12-22 06:06:07

标签: c#

美好的一天!

我们有一个tableLayoutPanel,用于在运行时添加组合框和标签。

enter image description here

当用户点击按钮时,我们的代码所做的是,它在运行时创建控件,然后将其添加到tableLayoutPanel的容器中。当我们点击“添加”按钮时按钮一次,我们应该看到一个像下面创建的单元格

enter image description here

现在,当我们添加多个控件时,我们注意到第0行累积了一个很大的空间。我们如何删除它?

enter image description here enter image description here enter image description here enter image description here

注意program1有很大的空间,但程序2,3,4有均匀的空间..为什么会这样?感谢

以下是用户点击“添加”时的代码。按钮

  int cLeft = 1;
        public System.Windows.Forms.ComboBox AddNewComboBox()
        {
            System.Windows.Forms.Label lab = new System.Windows.Forms.Label();
            System.Windows.Forms.ComboBox com = new System.Windows.Forms.ComboBox();




            tableLayoutPanel1.Controls.Add(lab,0,cLeft-1);
            lab.Text = "Program " + cLeft.ToString() + ":";
            lab.Name = "label" + cLeft.ToString();

            tableLayoutPanel1.Controls.Add(com,1,cLeft-1);


           com.Width = 220;
            com.Name = "comboBox " + cLeft.ToString();



            cLeft = cLeft + 1;

            return com;
        }

1 个答案:

答案 0 :(得分:1)

我曾遇到过类似的问题。 我认为问题是你插入的第一行是自动调整大小的。如果您在开头添加一个自动调整大小的空白行,然后在固定大小后添加所有控件,它应该可以正常工作。

或者你也可以创建一个自己的UserControl,你可以在其中放置你的标签和组合框,并将它与maxlay一起添加到你的tablelayout面板。