I VB6 brukade jag använda index på ex. en label eller textbox. Nä, du har helt rätt i att index inte finns längre i VB.NET. Hej! Hej, Johan! Jag är kanske lite trög så här på Sveriges dag, men jag är inte helt med. Som exempel. Jag placerade mina textboxar direkt på formuläret så jag förstod inte att det var en Panel också inblandad. Tack för hjälpen! Tror nog du kan nog använda bara en form också. Alltså slippaIndex på kontroller
    
    
lblTest(1) lblTest(2) o.s.v.
Detta var bra om man hade många likande kontroller i en rad eller column
och ville enkelt komma åt en av dom.
I en annan kod kunde man då skriva
lblTest(x)...... för att ändra just den labeln eller textboxen.
Finns inte den möjligheten i vb.net?
Antar dom gjort det på annat sätt. Någon som kan tipsa om hur.
/PontusSv: Index på kontroller
    
    
Hur du ska göra beror på omständigheterna. Du kommer lätt åt alla kontroller som är placerade i en annan kontroll genom .Controls listan, till exempel Form1.Controls.
För att gå igenom alla kontroller som finns i Form1
<code>
For Each ctrl As Control In Form1.Controls
    MsgBox(ctrl.Id)
Next
</code>
Har skrivit koden från huvudet men det borde fungera...
Men om du beskriver närmare var du vill göra så kan man ge ett bättre svar.Sv:Index på kontroller
    
    
Jag kommer ha flera rader (troligen åtta) med labels
och ungefär sex kolumner. Vill inte använda en datagrid även om det kanske 
skulle fungera också.
Sen vill jag på ett enkelt sätt ändra i några rader. T.ex. flytta hela den ena raden
med data upp eller ned och således påverkas alla de andra raderna likadant.
Hade väl varit hyffsat enkelt med hjälp av index 1-2  2-3 o.s.v.
Ska kolla på ditt tips med at ha kontrollerna i en annan kontroll såsom en groupbox.
Tack så länge.Sv: Index på kontroller
    
    
här är en funktion som jag använder :
    Function SökKontroll(ByVal strId As String, ByVal ctlRoot As Control) As Control
        Dim ctlFound As Control
        Dim ctlTemp As Control
        For Each ctlTemp In ctlRoot.Controls
            If ctlTemp.Name.ToUpper = strId.ToUpper Then
                Return ctlTemp
            End If
            ctlFound = SökKontroll(strId, ctlTemp)
            If Not ctlFound Is Nothing Then
                Return ctlFound
            End If
        Next
        Return Nothing
    End Function
Med den kan du döpa dina kontroller till t.ex. Label1, Label2 osv., 
och sedan anropa i en loop :
    For intSnurra As Integer = 1 To 4
         SökKontroll("Label" & intSnurra, pnlRoot).Text = "Testtext"
    Next
    Sv: Index på kontroller
    
    
Vet inte om du ställer frågan till mig men i.s.f. är det bara vanlig text.
/PontusSv:Index på kontroller
    
    
I exemplet skall man uppdatera texten på Label1-Label4. Det är väl inte "Label" som är parametern.Sv: Index på kontroller
    
    
Jag har ett antal Label som finns i en panel.
Dessa Label heter för enkelhetens skull bara Label1, Label2, Label3 o.s.v.
Panelen kallar jag pnlRoot.
Här blir texten i Label1 till "Sverige".
SökKontroll("Label" & 1, pnlRoot).Text = "Sverige"
Här ändrar jag texten i Label3 till "Johan".
SökKontroll("Label" & 3, pnlRoot).Text = "Johan"
Hade hellre använt label(1), label(3) o.s.v. men det fungerar visst inte i VB.NET.
Fast ovan tips jag fått fungerar också bra.
Hoppas det klarnade något.
PontusSv:Index på kontroller
    
    Sv: Index på kontroller
    
    
lägga textboxarna i en panel.
/Pontus