如何动态创建与预先存在的一个VB.net具有相同属性的控件或标签列表

时间:2013-09-13 08:53:42

标签: vb.net controls labels dynamically-generated

当我尝试使用下面的代码创建具有与预先存在的标签相同属性的标签列表时,我最终得到10个项目的列表,它们最终都具有相同的名称,并且最终只显示一个标签 我怀疑我最后得到的是同一标签的10个“指针”列表。 (但我每次机会都会使用“新”这个词:))

Dim lblList As New List(Of Label)
  For I = 0 To 9
    lblList.Add(New Label)
    lblList(I) = lblExistingLabelWithDesiredProperties
    lblList(I).Name = "lblName" & I.ToString
    lblList(I).Left = 30 + I * 10
  Next

正如我所说,我似乎最终只有一个标签 我已经搜索了高低的答案。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您最终会在同一标签上列出10个参考 如果要使用初始标签的部分/全部属性填充新标签,则需要将它们分配给新创建的标签,如:

Dim lblList As New List(Of Label)
For I = 0 To 9
  lblList.Add(New Label)
  ' assign the properties
  lblList(I).Top = lblExistingLabelWithDesiredProperties.Top
  lblList(I).Text = lblExistingLabelWithDesiredProperties.Text
  ' and so on
  lblList(I).Name = "lblName" & I.ToString
  lblList(I).Left = 30 + I * 10
Next

如果您还想显示标签,则需要将它们添加到容器的controlls集合(例如表单,面板,组合框)。