So ein Quatsch sowas in einem (angeblichen) Thread zu machen und dann direkt zu Invoken… dann gehen ja alles Vorteile des Threads wieder verloren. Im übrigen wäre es schön den ganzen Code zu sehen und nicht nur Teile davon… Edit: Bring erstmal alles ohne Threading ans laufen, dann kann man wenigstens sauber debuggen und schauen wo der Fehler ist. Deine Filename Prüfungen sind auch nicht optimal. Denn du willst ja die Extension prüfen und nicht ob irgendwo im Dateinamen png/dds vorkommt. Was wenn…
Kannst du bitte den aktuellen Stand vom Code der ganzen Methode hier posten? Ich will mir den nicht aus anderen Threads zusammen suchen um später festzustellen das irgendwas fehlt. Friert die Form den jetzt nicht mehr ein?
Ohje das ist aber arg viel code um nen paar Bildchen zu laden… keine Ahnung was das alles macht, sieht arg kompliziert aus. Aber egal… Ich meinte den Code, wo das Bild in der Form geladen/verarbeitet/angezeigt wird.
Zitat von xX-Nick-Xx: „Da wo er das Bild lädt ist doch oben?“ Ja die Stelle meine ich. Da fehlt der Methoden Kopf und man sieht nicht wo Filename herkommt und auch nicht was ModCheck macht. Das ganze sieht nach Schleife aus, die sieht man auch nicht.
Ok, evtl. (sieht man ja nicht) wird hier in der Schleife ja immer die letzte Picturebox überschrieben und es bleibt immer nur die letzte übrig. PBI = New PictureBox Deklariere die mal innerhalb der Schleife (die es vielleicht gibt).
Das ist das Problem wenn man Code weg lässt. Friert die Form denn jetzt noch ein? @xX-Nick-Xx For i As Integer = 0 To ListBox1.Items.Count = 1 -> Programmierst du etwa Option Strict Off? Zudem ist das, anders als du behauptest, keine For each Schleife.
Man könnte mittels Lazy Loading Pattern immer nur die Bilder/Controls/Datensätze laden, die angezeigt werden. Müsstest also nicht mehr alle laden, sondern z.b. nur die Ersten 8. Beim Scrollen werden diejenigen die noch Fehlen dann immer nachgeladen.