Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# tableLayoutPanel的第0行不断变大_C# - Fatal编程技术网

C# tableLayoutPanel的第0行不断变大

C# tableLayoutPanel的第0行不断变大,c#,C#,你好 我们有一个tableLayoutPanel,用于在运行时添加组合框和标签 当用户单击按钮时,我们的代码会在运行时创建控件,然后将其添加到tableLayoutPanel的容器中。。当我们单击“添加”按钮一次时,我们会看到一个创建的单元格,如下所示 现在,当我们添加多个控件时,我们注意到第0行累积了很大的空间。我们如何消除这一点 请注意,program1具有较大的空间,但Program2、3、4具有均匀的空间。。为什么会这样?谢谢 这是用户单击“添加”按钮时的代码 int cLe

你好

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

当用户单击按钮时,我们的代码会在运行时创建控件,然后将其添加到tableLayoutPanel的容器中。。当我们单击“添加”按钮一次时,我们会看到一个创建的单元格,如下所示

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

请注意,program1具有较大的空间,但Program2、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;
        }

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

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