Miten VB.NET:ssa saat Listboxin yhden solun tekstin muutettua populoimatta koko sisältöä uudelleen?
Listbox.SelectedText ei hommaa hoida vaikka dokumentaatio niin väittääkin (sets and gets selectedtext) eikä Listbox.Items.Text myöskään.
Yritin myös Refreshiä joka ei auta...
Pitääkö asettaa joku editointitila ennen tekstin muokkausta? ListBoxissa on BeginUpdate ja EndUpdate ominaisuudet, joiden pitäisi päivittää kontrolli editoinnin jälkeen...mutta eivät käytännössä tee mitään.
Kylläpäs on taas tehty asiat vaikeeksi - vanhassa VB:ssä homma hoitui helposti, mutta .NET:ssä tuntuu, että asiat on tehty tarkoituksella hankalaksi - Rapid development my ass...
Eikö sitä voi poistaa ja sitten lisäät uuden muokatun poistetun tilalle. Ilmeisesti ei.
Kokeilin kyllä Insert-toiminnolla, joka lisäsi valittua riviä ennen yhden rivin, mutta se sotki indeksin enkä oikein periaattessa haluaisi käyttää turhia temppuiluita - se ei ole kovin ammattimaista. Voisihan sitä testata siten, että ottaisi indeksin talteen, lisäisi ja poistaisi... tosin melkoinen aasinsilta systeemi. Eikö sitä nyt peeveli saa päivitettyä suoraan - ei voi olla totta!
Pahus, pitää kai hommata se koko manuaalisetti aiheesta - maksaa vaan hunajaa ja olemme siirtymässä .NET:iin vasta ensi vuonna...
Tällaistako haet?
ListBox1.Items.Add("Koe") ListBox1.Items.Add("Koe1") ListBox1.Items.Add("Koe2") ListBox1.Items.Add("Koe3") ListBox1.Items(3) = "Muutettu"
Edit: Muista, että indeksointi alkaa vb.net:ssä nollasta
Jep toimii - yritin tosin aiemmin viitata
ListBox1.Items.Item(3), joka ei saanut aikaan toivottua tulosta, mutten tajunnut viitata kokoelmaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.