• 2 odgovora
  • 2.901 pregleda
key-sensitive ListBox c# 28.01.2004. u 13:19 · pre 276 meseci #1
Napravio sam Windows aplikaciju u C# koja sadrzi ListBox kontrolu sa povecim spiskom stavki. Kada na tastaturi izaberem pocetno slovo selektuje mi se prva stavka na listi sa datim pocetnim slovom u nazivu. Posto ima vise stavki sa istim pocetnim slovom hteo bih da svako sledece slovo koje otkucam tretira kao sledece slovo u nazivu stavke, a ne kao pocetno neke druge stavke. Da li neko ima ideju kako da isprogramiram ListBox kontrolu da se tako ponasa. Nadam se da sam dobro formulisao pitanje. Hvala unapred!
Re: key-sensitive ListBox c# 28.01.2004. u 14:13 · pre 276 meseci #2
Zanimljiva stvar, inkrementalno pretraživanje ListBoxa. Verovatno neko to već ima urađeno, ali ja ne znam gde to možeš naći ali ti mogu reći kako da ga napraviš:

1. Implementiraj ListBox.OnKeyDown i tu za svaki pritisak na alfanumerik dodaj po jedan karakter na neki string koji pamtiš, kad dodaš karakter pretraži Items i nađi prvi koji se podudara, ovo pretraživanje može da ti udara na performanse ako je lista velika, pa smisli neko indeksiranje

2. Implementiraj neki timer objekat i stavi ga na recimo 1 ili 2 sekunde, startuj ga kad se ukuca prvi karakter, i restartuj ga uvek ispočetka (Stop pa Start) na svaki sledeći ukucani taster. Ako timer istekne sam za sebe postavi string koji pamtiš na "" ali ne pomeraj index u listi (ovo da bi se pretraživanje restartovalo usled "neaktivnosti" da možeš da pretražuješ ispočetka)

To je to, možeš sve ovo da radiš na formu, a možeš i da embeduješ u novu kontrolu ako ti to treba na više mesta...

Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: key-sensitive ListBox c# 28.01.2004. u 15:21 · pre 276 meseci #3
Hvala mmix, dobar predlog pokusacu da ga izvedem, testiracu zatim performanse pa cemo videti.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme