0

以下のコードを使用して、既存のものと同じプロパティを持つラベルのリストを作成しようとすると、10 項目の長さのリストになってしまいますが、それらはすべて同じ名前になり、1 つだけになります。表示されたラベル。
同じラベルへの 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 つのラベルだけで終わるようです。
私は答えを求めて高低を検索しました。

前もって感謝します。

4

1 に答える 1

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

ラベルも表示したい場合は、それらをコンテナーのコントロール コレクション (フォーム、パネル、グループボックスなど) に追加する必要があります。

于 2013-09-13T09:15:01.547 に答える