Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Listbox:in rivi ei poistu (VB.NET)

c010n [28.02.2006 23:09:37]

#

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

setä [28.02.2006 23:46:00]

#

Ei oo VB.NETistä kokemuksia mutta kokeilisin ensin kopsata kaikki valitut ja sen jälkeen poistaa kaikki valitut, siis erillisissä For Each-silmukoissa.

c010n [01.03.2006 09:52:03]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta