Hej Windows forms? Om så är fallet, ha en stack med listor, där första listan i stacken är den ofiltrerade listan. Varje gång texten ändras så justerar du stacken, ett steg åt gången, så den innehåller lika många listor + 1 som antal tecken. Vid en justering uppåt itererar du igenom föregående lista och tar bara med de som stämmer mot texten. Till sist stämmer du av innehållet i sista listan mot din listbox Låter spontant rätt jobbigt? Antar att du i huvudsak tänker på att det ska vara optimerat, men det verkar inget vidare om man skulle flytta i textboxen. (Du kanske misstog det, och trodde man bara skulle trycka ner tangenter när listboxen är markerad?) Mjo, rätt jobbigt, fast inte särskilt jobbigt heller. Går rätt snabbt att skriva, uppskattar det till kanske 30 rader eller så i värsta fall. Jepp, jag tänker optimerat. Nu har jag ingen aning om datamängderna, men jag gjorde en chansning på att det handlar om lite större datamängder. Tack för (alla) svaren, tycker att LINQ verkar vara en bra / enklare idé och det borde gå att få till en lösning. får väl även erkänna att jag inte riktigt förstår lösningen med en stack med listor ;) Notera bara att min kod är att betrakta som pseudokod. Du får förmodligen köra någon .ToList eller .ToArray eller liknande. Har gjort ett litet exempel som visar detta: Programarkivet:Postnr sökningSortera listbox
Någon som vet hur man löpande kan sortera en listbox efter vad man skriver i en textbox ?
Tex om listboxen innehåller efternamn och man skriver "A" så visas alla namn som börjar på
"A" och sen skriver "An" så visas alla på "An" osv.
/BjörnSv: Sortera listbox
Sv:Sortera listbox
Om man skiter i det så är det ju så att någonstans kommer texten ifrån och att t.ex. göra det via någon form av linq borde ju vara en baggis;
lst, txt
txt_onchange()
if(txt.Text.Length<>0)
lst.List = Select o from objlist;
else
lst.List = Select o from objlist Where o.BeginsWith(txt.Text);
Med vissa modifikationer (t.ex. att det inte går att tilldela IEnumerable till en lst.list =)).Sv: Sortera listbox
Din lösning är för övrigt rätt snygg, även om den har det där skönhetsfelet ;)Sv: Sortera listbox
Det var ett tag sen jag höll på med C# och har inte hängt med i det nya teknikerna och därför inte tittat på LINQ. Men det verkar ju underbart, verkar kunna lösa många av mina tidigare problem / begränsningar. Tack för tipsen.
/BjörneSv:Sortera listbox
Sv:Sortera listbox
Sen funderar jag på om man inte kunde köra med BeginsWith även med en tom sträng?Sv: Sortera listbox