I VB6 kunde man göra LabelArrays för att skapa indexerade Labels men detta har man ändrat på i .NET-versionen. Du få helt enkelt bygga upp din egen array. Problem med indexerade labels
min tanke var att jag med hjälp av en loop skulle kunna tilldela tex:
For i = 1 to 50
Label(i).text = Sträng(i)
i = i + 1
next i
'(Detta är bara ett exempel, inte en loop jag använder, så ha förståelse för eventuella fel =)
Finns det någon ny metod för detta?
jag har hört att man kan gruppera Labels hur kan jag tillämpa detta isåfall?
Om någon kan få lite rätsida på mitt (säkert fåniga) problem skulle jag vara mycket tacksam!!Sv: Problem med indexerade labels
om du ändå skapar kontrollerna i runtime, så är det inga problem:
<code>
'Längst uppe i variabeldeklarationerna lägger du till en sådan
Private Labels As ArrayList
' i form load lägger du till något i den här stilen
Dim label As Windows.Forms.Label
Labels = New ArrayList
Dim i As Integer
For i = 1 To 10
label = New Windows.Forms.Label
label.Name = "label" + CStr(i)
label.Text = "hej"
label.Size = New System.Drawing.Size(48, 16)
label.Location = New System.Drawing.Point(i * 20, i * 20)
Controls.Add(label)
Labels.Add(label)
Next
</code>
Lägg märke till att även formuläret har en controls collection
som du kan utnyttja istället för att bygga en egen array
om du vill (finns även i vb6)
om du sedan vill göra något sekventiellt med lablarna, så gör du något i den här stilen:
<code>
Dim label As Windows.Forms.Label
Dim i As Integer = 65
For Each label In Labels
label.Text = Chr(i)
i += 1
Next
</code>
hoppas detta hjälper ;-)