Voor de gemiddelde tweaker een simpel antwoord op een waarschijnlijk simpel vraagstuk:
Ik heb 2 listboxes. Listbox lb1 bevat waarden, lb2 bevat waarden die uit lb1 zijn geselecteerd. Bij lb1 staat multiselect op 2, oftewel men kan meerdere waarden selecteren.
Nu wil ik bij het selecteren van meerdere waarden deze toevoegen aan lb2 (geen probleem), en tegelijkertijd verwijderen uit lb1 (voor mij wel een probleem). Ik heb de volgende code:
Het probleem waar ik tegen aanloop is de error "invalid property array index", aangezien de ListCount bij het verwijderen 1 kleiner wordt, terwijl de ListCount uit de For-lus wordt onthouden.
Wie weet een oplossing voor mijn probleem?
Ik heb 2 listboxes. Listbox lb1 bevat waarden, lb2 bevat waarden die uit lb1 zijn geselecteerd. Bij lb1 staat multiselect op 2, oftewel men kan meerdere waarden selecteren.
Nu wil ik bij het selecteren van meerdere waarden deze toevoegen aan lb2 (geen probleem), en tegelijkertijd verwijderen uit lb1 (voor mij wel een probleem). Ik heb de volgende code:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Private Sub cmdSelecteer_Click() Dim iNumitm As Integer Dim x As Integer iNumitm = lstBeschikbareTabellen.ListCount 'alle geselecteerde items in lstGekozenTabellen voegen 'alle geselecteerde items verwijderen uit lstBeschikbareTabellen For x = 0 To lstBeschikbareTabellen.ListCount - 1 If lstBeschikbareTabellen.Selected(x) Then lstGekozenTabellen.AddItem lstBeschikbareTabellen.List(x) lstBeschikbareTabellen.RemoveItem x End If Next x End Sub |
Het probleem waar ik tegen aanloop is de error "invalid property array index", aangezien de ListCount bij het verwijderen 1 kleiner wordt, terwijl de ListCount uit de For-lus wordt onthouden.
Wie weet een oplossing voor mijn probleem?