Bilder in Listen anzeigen (VB.Net)

Hallo!

Ich habe bisher immer ein ListView-Element zusammen mit einer ImageList verwendet, um Bilder in Listen anzuzeigen und auswählbar zu machen. Nun benötigt mein Programm allerdings etwa 1250 Bilder gleichzeitig in der Liste, bei sovielen erhalte ich beim Hinzufügen zur ImageList aber eine OutOfMemoryException, obwohl die Bilder zusammen nur etwa 8 MB groß sind. Jetzt suche ich nach einer Möglichkeit, Bilder aus der Ressourcendatei in einer Liste anzuzeigen, die einer ListView möglichst ähnlich ist.

Vielen Dank für Antworten!

Hallo!

Du hast immer noch die Möglichkeit, den ListView auf OwnerDraw zu setzen und das Zeichnen der Items selbst zu übernehmen. Wo Du dann die Bilder hernimmst, ist egal, dann bist Du selbst dafür verantwortlich, dass sie gezeichnet werden…

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Erstmal vielen Dank für die Antwort. Ist die Lösung mit OwnerDraw einem normalen ListView gleichwertig oder hat man beispielsweise Grafikfehler, wenn die Spalte zu klein ist?

Erstmal vielen Dank für die Antwort. Ist die Lösung mit
OwnerDraw einem normalen ListView gleichwertig oder hat man
beispielsweise Grafikfehler, wenn die Spalte zu klein ist?

Ob Du Grafikfehler einbaust oder nicht, bleibt Dir überlassen :smile:. Du bekommst vom LV letztlich für jedes Element gesagt, dass es jetzt gerne gezeichnet würde - mit Angabe des Rechtecks, in das gezeichnet werden soll.
Was Du damit anstellst, steuerst Du selbst.

Gruß,
Martin

Ich habe es jetzt mal versucht, meine Ergebnisse waren dem Original aber nicht sehr ähnlich. Könnte mir vielleicht jemand ein Codestück geben, was einfach nur eine Liste von Bildern und zugehöriger Beschriftung anzeigt? Ich habe nur eine Spalte, in der Bild und Text nebeneinander angezeigt werden sollen, in der Detailansicht.

Gruß
Fabian