Schon wieder ein Listbox-Problem.... (aber dafür das letzte!)

MacInternet

Mitglied
Hallo,

so ganz kurz vor der Fertigstellung des Programms taucht da wieder ein Fehler auf, für den ich bisher noch keine Lösung gefunden habe:

In einer Listbox werden Einträge, die ein bestimmtes Such-Kriterium erfüllen, durch markieren (Multi-select) hervorgehoben.

Das klappt eigentlich auch ganz gut mit

Visual Basic:
List1.Selected(List1.ListCount - 1) = True

Aber jetzt trägt die Listbox neuerdings die Eigenschaft "sorted" - und nun stimmt das alles nicht mehr, weil durch die Sortierung der 17. Eintrag beispielsweise nicht mehr an der 17. Stelle ist, sondern plötzlich an der 6. Stelle... Schreck lass nach! :eek:

Daher meine Frage:
Gibt es denn eine Möglichkeit, die tatsächliche Position eines Eintrags in einer Listbox zu ermitteln, um diesen Eintrag dann gezielt zu markieren? List1.ListCount hilft hier ja wohl nicht weiter - oder doch?

Wäre weiterhin für einen Tipp dankbar und an dieser Stelle auch mal meinen herzlichsten Dank an all die Leute, die sich für andere den Kopf mit zerbrechen!

Gruß Mac
 
Nun, du könntest die zu markierenden Inhalte in ein Array speichern und die Liste Punkt für Punkt durchgehen. Ist ein Eintrag mit einem der aus dem Array (muss ja nicht ein Array sein, ein normaler String mit der Funktion instr tuts auch), wird er markiert!
So würde ich das wahrscheinlich lösen!
 
Danke für den Tipp. Aber das Ganze dauert zu lange, weil die Liste mehrere Tausend Einträge enthält. Sie wird ja gerade durchsucht, um die Einträge mit den entsprechenden Kriterien zu finden. Es wäre also toll, wenn während dieses Durchlaufes auch die Markierungen gesetzt werden könnten.
Sonst könnte ich ja auch nach jeder Aufnahme eines neuen Wortes die gesamte Liste einfach sortieren lassen - aber auch das dauert viel zu lange.

Hat vielleicht noch jemand einen Tipp, wie man in einer Listbox mit der Eigenschaft Sorted die tatsächliche Position eines Eintrages erfassen kann, wenn List1.listCount - 1 die falsche Position mitteilt, weil dies ja nur die Anzahl der Einträge zählt?

Bin für jeden Tipp dankbar,
Gruß Mac
 

Neue Beiträge

Zurück