Med denna kod får jag felmeddelandet "Cant assign to read only property". Hur gör jag då för att räkna upp index? Frågan är vad du vill göra. Egenskapen Index är bara relevant för control arrayer (Flera kontroller med samma namn), testa egenskapen ListIndex. Gissar på att det ska vara: List1.Index=j
Sv: List1.Index=j
List1.index retunerar ett nummer som talar om vilket nummer List1 har
i en List1 array
alltså: Den är bara intressant ifall du har flera Listboxar med samma namn i ditt formulär.
List1(1) Index = 1.Sv: List1.Index=j
Sv: List1.Index=j
ComboBox1.ListIndex=j
Index är en egenskap som finns för alla kontroller. Anger vilket index de har i kontroll arrayen. Det är därför du inte kan modifiera detta värde. För en normal kontroll har Index egenskapen ingen funktion. För att skapa en kontrollarray. Fyller du i ett värde för kontrollen i egenskapsrutan under designläge. Eller kopierar och klistrar in den och svarar jag när vb frågar om du vill skapa en kontrollarray. kontrollarrayer tillåter dig att ladda och frigöra(endast kontroller som skapats dynamiskt) kontroller i arrayen. Vilket är användbart om man ska t.ex. göra en egen grid eller en lista.
Så här laddar du en kontroll i en kontrollarray(Skrev ur minnet så fel kan förekomma):
* Skapa nytt projekt
* Lägg till en CommandButton i Form1
* Ändra Index för Command1 till 0
* Klistra in följande kod:
Private Sub Command1_Click(Index as integer)
Dim cmd as CommandButton
Set cmd = Command1(Command1.UBound + 1)
Load cmd
With Command1(Command1.UBound-1)
cmd.Move .Left + .Width * 2, .Top + .Height * 2
End with
cmd.Visible = True