将控件数组动态添加到 winform

本文关键字:winform 添加 动态 控件 数组 | 更新日期: 2023-09-27 18:25:12

我有一个问题,我想动态地向窗口窗体添加一个控件数组,我已经准备了如下代码,但问题是只有表单中显示的第一个控件仍然存在于控件集合中,但不显示在窗体上。代码中缺少什么?

法典:

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);

将控件数组动态添加到 winform

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

我不知道您要将它们添加到哪种类型的容器控件,但请考虑将它们添加到 FlowLayoutPanel 中,这将处理自动排列其子控件。

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

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

应设置每个控件的 Location 属性。它们都在相互渲染。