向winform动态添加控件数组

5 c# winforms

我有一个问题,我想动态地向windows窗体添加一个控件数组,我已经准备好了下面的代码,但问题是只有表格中的第一个控件显示在控件集合中但不在窗体上显示.代码中缺少什么?

码:

LinkLabel[] arrLbl = new LinkLabel[5];

for (int i = 0; i < 5; i++)
{
   LinkLabel lbl = new LinkLabel();
   lbl.Text = "Label: " + i.ToString();
   arrLbl[i] = lbl;
}

foreach (Control c in arrLbl)
  this.Controls.Add(c);
Run Code Online (Sandbox Code Playgroud)

Cod*_*ray 15

你的代码是正确的.问题很可能是您添加的所有控件都只是堆叠在一起,导致您只看到顶部的控件.

我不知道你将它们添加到什么类型的容器控件,但考虑将它们添加到a FlowLayoutPanel,它将自动处理它的子控件.

您可以通过设置FlowDirection属性来选择是否希望子控件垂直或水平"流动" .

如果您不想使用FlowLayoutPanel(或其他智能容器控件),则必须手动设置每个子控件的Location属性.