Ergens in mijn programma verplaats ik items tussen 2 listboxen. Het toevoegen van de items van de ene naar de andere en visa versa gaat goed. Met deze code that is:
Visual Basic:
1
2
3
4
5
6
| Private Sub btnWizard1Bes2Ver_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWizard1Bes2Ver.Click
' Verplaats items van beschikbare calculators naar verantwoordelijke calculators
For i As Integer = 0 To lboxWizard1BischikbareCalculators.SelectedItems.Count - 1
lboxWizard1VerantwoordelijkeCalculators.Items.Add(lboxWizard1BischikbareCalculators.SelectedItems(i))
Next i
End Sub |
Maar nu wil ik bij het overzetten ook zorgen dat hij de items die hij in de andere listbox erbij zet uit de originele ook verwijderd worden. Ik zou zeggen zet dit:
Visual Basic:
1
| lboxWizard1BischikbareCalculators.Items.RemoveAt(lboxWizard1BischikbareCalculators.SelectedIndices(i)) |
of dit:
Visual Basic:
1
| lboxWizard1BischikbareCalculators.Items.Remove(lboxWizard1BischikbareCalculators.SelectedItems(i)) |
in die forloop. Maar dan is volgens VB.NET opeens de index buiten de grens van de array? Terwijl ik eigenlijk hetzelfde doe als bij het toevoegen van items maar dan niet add maar remove?