» »

[C#] Brisanje elementov iz ListView

[C#] Brisanje elementov iz ListView

c0dehunter ::

Imam en ListView, v katerem prikazujem sličice (thumbnaile) naloženih slik. Zaradi tega sem moral dodati gradnik imageList. Vse mi deluje perfektno, razen brisanja.

Evo, tole je rutina ki se izvede ob brisanju (for zanka za brisanje več elementov):
for (int i = 0; i < seznamSlik.SelectedItems.Count; i++)
            {
imageList1.Images[seznamSlik.SelectedItems[i].Index].Dispose();
imageList1.Images.RemoveAt(seznamSlik.SelectedItems[i].Index);
seznamSlik.Items.Remove(seznamSlik.SelectedItems[i]); //seznamSlik je tipa ListView
direktoriji.RemoveAt(seznamSlik.SelectedItems[i].Index); //tule mi zmeraj javi napako da '0' is not valid for index (nanaša se na SelectedItems[i]). direktoriji je tipa List<string>, v njem pa hranim poti do slik.
seznamSlik.Invalidate();
            }


Problem ni samo tam pri odstranjevanju iz direktorija (glej komentar), ampak naprimer tut če tisto začasno zakomentiram, se mi thumbnaili pomešajo, če zbrišem prvi element, kar pa je moj drugi problem.

Če kdo vidi kaj delam narobe, se priporočam za pomoč :)
Sumim pa, da se v primeru izbirsa prvega elementa indexi nekako pomešajo in se ne poklapa več.
I do not agree with what you have to say,
but I'll defend to the death your right to say it.

LeQuack ::

Če iz seznamSlik izbrišeš seznamSlik.SelectedItems[i], potem ga ne bo več v tem seznamu, kar pomeni da tudi v naslednjem klicu seznamSlik.SelectedItems[i].Index ta element ne bo več na voljo in zato error.
Zakaj pa se slike zamešajo pa je težko reči na pamet. Ti vzdržuješ dva seznama, kjer se morata indeksa zmeraj ujemati, kar ni zmeraj lahko.
Quack !

c0dehunter ::

Kvak, hvala, za rešitev za prvi problem. Banalna napaka, kaj češ :)

Mešanje slik je pa bolj problematično, ja. Vendar, slike se pomešajo SAMO, če zbrišem iz seznama prvo sliko (v primeru enojne izbire, z brisanjem večih naenkrat se bom ukvarjal kasneje)..
I do not agree with what you have to say,
but I'll defend to the death your right to say it.

japol ::

Kakšna je koda, da mi v listView ob ikoni prikaže imena slik, ki so bila naložena v imageList?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# WPF nalaganje info. iz XML dokumenta

Oddelek: Programiranje
61041 (861) MrStein
»

[C#] Delo z okni - urejanje osebe

Oddelek: Programiranje
8995 (867) darkolord
»

Pomoč pri programčkih

Oddelek: Programiranje
152957 (2607) Mitja Bonča
»

[Visual C#] "Format" shranjevanja?

Oddelek: Programiranje
10981 (766) c0dehunter
»

C#, Dodajanje podatkov v Arraylist z Gumbom

Oddelek: Programiranje
82292 (2131) Beezgetz

Več podobnih tem