Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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间距问题_C#_Winforms_Tablelayoutpanel - Fatal编程技术网

C# TableLayoutPanel间距问题

C# TableLayoutPanel间距问题,c#,winforms,tablelayoutpanel,C#,Winforms,Tablelayoutpanel,我从数组向tablelayoutpanel添加标签。标签添加没有问题,但它们之间存在巨大的差距。我的代码有错误吗?这是我的数组,正在添加标签。tablelayoutpanel是从GUI添加的,名为tablelayoutpanel1 while (dr.Read()) { labelsToAdd.Add(dr[0].ToString()); } dr.Close(); foreach (string label in labelsToAdd) { Label lbl = new Label();

我从数组向tablelayoutpanel添加标签。标签添加没有问题,但它们之间存在巨大的差距。我的代码有错误吗?这是我的数组,正在添加标签。tablelayoutpanel是从GUI添加的,名为tablelayoutpanel1

while (dr.Read())
{
labelsToAdd.Add(dr[0].ToString());
}
dr.Close();
foreach (string label in labelsToAdd)
{
Label lbl = new Label();
lbl.Name = "lbl_" + index;
lbl.Text = label;
lbl.AutoSize = true;
tableLayoutPanel1.Controls.Add(lbl, 0, rowIndex);
rowIndex++;
}
所以他们会像这样加上所有的空格

label1





label2
目测样品-
尝试设置行高:

tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 30))
根据您的评论:

只有前两个显示为那样。其余部分根据需要显示

因此,您应该首先清除行,因为您的
GrowStyle=AddRows

tableLayoutPanel1.RowStyles.Clear();
foreach (string label in labelsToAdd)
{
  Label lbl = new Label();
  // etc...

同时添加一个可视化示例如何将行添加到TableLayoutPanel控件?行是否设置为自动调整大小?它们是1行2列。它们是通过从工具箱拖放控件添加的。如果只有一行,那么如何向每行添加多个标签?您是如何使读取器中的行数与TableLayoutControl中的行数相匹配的?@LarsTech我使用了上述语法,它添加了数组的所有元素,只是涉及了疯狂的间距。我认为这样做是不正确的?没有跟上你…如果我转到designer.cs文件并尝试添加这个。tableLayoutPanel1.RowStyles.Height=30,它会告诉我高度无效。@user2676140从不编辑显示“请勿修改”的designer文件。按绝对大小排序如何?@MikeG我只使用了一行。绝对的,30也不能补救。