Eli miten saan tietoon, onko listboxin jokin tietty vaihtoehto valittuna.
Esim tällainen pitäisi jotenkin toteuttaa...
for i = 0 to valittujen määrä if listbox1.vaihtoehto(i) = valittu then muuttuja(i,2) = jotain else muuttuja(i,2) = jotain muuta end if next i
Sovella jotain näistä ListBoxin ominaisuuksista tilanteen mukaan:
SelectedIndex SelectedIndexCollection SelectedIndices SelectedItem SelectedItems SelectedObjectCollection SelectedValue
Olen jumissa...
Listboxissa 30 vaihtoehtoa ja niistä 6 valittuna. miten voin tarkistaa, että onko vaihtoehto nro.11 valittuna. Vastauksena luonnollisesti True/False.
Saatampa olla myös liian väsynyt kun ei nyt leikkaa yhtään...
Dim onSe As Boolean = ListBox1.SelectedIndices.Contains(11)
Kertoo onko indeksillä 11 listassa oleva alkio (eli 12. alkio) valittujen joukossa.
Moikka novice!
sinulla oli himan häikkää lähtöajatuksessa...
for i = 0 to valittujen määrä ' -- 0 to SelectedIndices.Count 'eli yksi liikaa...jos valittujen määrä on vaikkapa 7 ja lähdetään 'liikkeelle 0:sta niin lause näyttäisi seuraavalta... For i = 0 To 6 ' -- 0 To SelectedIndices.Count - 1
'testaa vaikkapa näinpäin... Sub Aliohjelma() If Not Funktio(ListBox1) Is Nothing Then Dim xjuttu As Object = Funktio(ListBox1) Dim InfoStr As String = "" For i As Integer = 0 To xjuttu.GetUpperBound(1) 'If xjuttu(2, i) Then 'esim. InfoStr += _ xjuttu(0, i).ToString + " (" + _ xjuttu(1, i).ToString + ") " + _ xjuttu(2, i).ToString + _ Environment.NewLine + Environment.NewLine 'End If Next MsgBox(InfoStr): InfoStr = Nothing xjuttu = Nothing End If End Sub Function Funktio(ByVal boxi As Object) As Object If Not TypeOf(Boxi) Is listBox Then Return Nothing: Exit Function ElseIf boxi.Items.Count = 0 Then Return Nothing: Exit Function End If Dim muuttuja(2, boxi.Items.Count -1) As Object For i As Integer = 0 To boxi.Items.Count -1 muuttuja(0, i) = Cstr(i + 1) + "." muuttuja(1, i) = i If boxi.SelectedIndices.Contains(i) Then muuttuja(2, i) = True Else muuttuja(2, i) = False End If Next Return muuttuja: muuttuja = Nothing End Function
Kiitokset vastauksista. Etenkin tuo .Contains(i) oli hukassa. Enkä osannut ajatella, että ehtolauseen voisi rakentaa ilman vertailuoperaattoria.
Kyllähän tämä nyt aamulla tuntuu paljonkin selkeämmältä ;)
Aihe on jo aika vanha, joten et voi enää vastata siihen.