美好的一天!
我们有一个tableLayoutPanel,用于在运行时添加组合框和标签。
当用户点击按钮时,我们的代码所做的是,它在运行时创建控件,然后将其添加到tableLayoutPanel的容器中。当我们点击“添加”按钮时按钮一次,我们应该看到一个像下面创建的单元格
现在,当我们添加多个控件时,我们注意到第0行累积了一个很大的空间。我们如何删除它?
注意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;
}
答案 0 :(得分:1)
我曾遇到过类似的问题。 我认为问题是你插入的第一行是自动调整大小的。如果您在开头添加一个自动调整大小的空白行,然后在固定大小后添加所有控件,它应该可以正常工作。
或者你也可以创建一个自己的UserControl,你可以在其中放置你的标签和组合框,并将它与maxlay一起添加到你的tablelayout面板。