将控件数组动态添加到 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);
你的代码是正确的。问题很可能是您要添加的所有控件都只是堆叠在一起,导致您只能看到顶部的控件。
我不知道您要将它们添加到哪种类型的容器控件,但请考虑将它们添加到 FlowLayoutPanel
中,这将处理自动排列其子控件。
可以通过设置 FlowDirection
属性来选择是希望子控件垂直还是水平"流动"。
如果不想使用 FlowLayoutPanel
(或其他智能容器控件(,则必须手动设置每个子控件的 Location
属性。
应设置每个控件的 Location 属性。它们都在相互渲染。