Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Listboxin .additem ja .itemdata

Claw [31.10.2004 22:53:47]

#

nih, ajattelin kysästä täältä että miten noi toimii.

list1.additem Kalle tapahtuuko jotai, en ainakaan ite saanu mtn tapahtumaan joten ajattelin että joskos se tarviis tota .itemdataa johonki, eli mitä mä laitan ton .itemdatan perää että toi Kalle tulis listaa?

Hellami [01.11.2004 02:31:42]

#

list1.additem("Kalle")

Nääh, villi arvaus vain :)
En ole aikoihin VB:llä tehnyt mitään, siis "tavallisella" .NET:llä kyllä olen leikkinyt...

Meitsi [01.11.2004 07:57:39]

#

Siis se tarttee indeksin:

List1.AddItem "Woot", 1

BadSource [01.11.2004 08:30:34]

#

Ei välttämättä tarvitse. Ilman index:ä uusi arvo menee listan viimeiseksi.

ItemData:an voi tallentaa mitä tahansa Long-muotoista numeerista dataa. Esimerkiksi jos on listattu jotain tekstiarvoja, joilla on myös numeeriset tunnukset, mutta näitä numeerisia tunnuksia ei haluta näyttää käyttäjälle, niin ne voidaan asettaa ItemDataan.

Seuraavassa pieni esimerkki. Formilla ListBox oletusnimellä.

Private Sub Form_Load()
    Dim i As Integer

    Randomize Timer 'Alustetaan satunnaislukugeneraattori
    For i = 0 To 9 'Lisätään listaan 10 kohtaa
        List1.AddItem "Valinta " & (i + 1) 'Kohta...
        List1.ItemData(List1.NewIndex) = Int(Rnd * 9) + 1 '...ja sen ItemData
    Next i
End Sub

Private Sub List1_Click()
    Dim i As Integer

    If List1.SelCount > 0 Then 'Jos listasta on tehty valintoja
        For i = 0 To (List1.ListCount - 1) 'Käydään läpi listan kaikki kohdat. -1 koska indexit alkavat nollasta
            If List1.Selected(i) Then 'Jos kohta on valittu...
                MsgBox List1.List(i) & ": " & List1.ItemData(i) '...niin esitetään sen satunnainen ItemData
            End If 'List1.Selected
        Next i
    End If 'List1.SelCount
End Sub

Edit: tyop, toyp, typo...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta