Allaoleva hyvin yksinkertainen koodinpätkä aiheuttanat harmaita hiuksia jo lähes tunnin ajan joten päätin kääntyä osaavampien puoleen =)
Eli koodin tarkoituksena on siirtää ListBox1:sen objektit ListBox2:seen nappia(Button1) painamalla, mutta ei niin ei.. Koodi toimii jos kommentoi poistokäskyn pois, mutta muuten se siirtää vain puolet valituista objekteista, Listboxien SelectionMode on MultiExtender.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer = 0 Dim kohde As Integer = 0 For Each kohde In ListBox1.SelectedIndices ListBox2.Items.Add(ListBox1.Items.Item(kohde)) ListBox1.Items.RemoveAt(kohde) Next End Sub
Ei oo VB.NETistä kokemuksia mutta kokeilisin ensin kopsata kaikki valitut ja sen jälkeen poistaa kaikki valitut, siis erillisissä For Each-silmukoissa.
setä: ehdottamasi tapa kyllä lisää kaikki objektit listbox2:seen mutta, puolet objekteista jäävät poistumatta listbox1:sestä
Edit. Ongelma ratkaistu, nyt kun alkoi tarkemmin ajattelemaan niin eihän se voi noin toimiakaan kun listbox1:sen objektien indexit muuttuvat aina poistettaessa kohde. laitoin tuon lisäämisen omaksi toiminnokseen(For Each loopissa) ja sen jälkeen suoritan poiston for loopissa käyttäen lähteenä listbox2:sen objekteja.
Aihe on jo aika vanha, joten et voi enää vastata siihen.