Avatar billede lillholm Nybegynder
12. marts 2008 - 19:31 Der er 3 kommentarer og
1 løsning

Flytte ting fra en listbox til en anden listbox

Jeg har en multiselect på begge mine listboxe

Jeg har to knapper. Den ene knap flytter fra den ende til den anden og den anden knap omvendt.

Jeg har dette stykke kode her.

------------------
For i = 0 To lstComputers.ListCount - 1
  If lstComputers.Selected(i) = True Then
  lstSelected.AddItem lstComputers.List(i)
End If
------------------

Mit problem er så at hvis jeg tilføjer lstComputers.RemoveItem lstComputers.List(i) så kommer den med fejl fordi der er en mindre i min listbox og lstComputers.ListCount får fejl.


Kan i følge mit problem?

Og nogen der har en ide til at løse dette?
Avatar billede word-hajen Nybegynder
12. marts 2008 - 21:22 #1
lstComputers.RemoveItem(i)

Hvad mener du med at lstComputers.ListCount får fejl?
Avatar billede lillholm Nybegynder
13. marts 2008 - 08:28 #2
Når jeg har fjernet en post i min lstComputers vil i jo komme højere op end der er poster. Derfor laver den en fejl fordi den prøver at finde en post i min lstComputers index som ikke findes.
Avatar billede lillholm Nybegynder
13. marts 2008 - 10:18 #3
Nu har jeg fundet løsningen. Er som følger.

i = lstComputers.ListCount - 1

Do While i >= 0
    If lstComputers.Selected(i) = True Then
        lstSelected.AddItem lstComputers.List(i)
        lstComputers.RemoveItem (i)
       
  End If

i = i - 1
Loop
Avatar billede word-hajen Nybegynder
13. marts 2008 - 16:46 #4
Ahh... forstod ikke hvad du mente. Når jeg har den slags løkker, kører jeg baglæns :-)

For i = lstComputers.Listcount - 1 to 0 step -1
  ......
next i
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester