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 iSovella 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 FunctionKiitokset 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.