Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

key-sensitive ListBox c#

[es] :: .NET :: .NET Desktop razvoj :: key-sensitive ListBox c#

[ Pregleda: 808 | Odgovora: 2 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bokac
Beograd

Član broj: 19866
Poruke: 110
*.dial.b92.net



Profil

icon key-sensitive ListBox c#28.01.2004. u 13:19

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!
28.01.2004. u 13:19 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2408
193.203.9.*



Profil

icon Re: key-sensitive ListBox c#28.01.2004. u 14:13
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...


▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
28.01.2004. u 14:13 

bokac
Beograd

Član broj: 19866
Poruke: 110
*.dial.b92.net



Profil

icon Re: key-sensitive ListBox c#28.01.2004. u 15:21
Hvala mmix, dobar predlog pokusacu da ga izvedem, testiracu zatim performanse pa cemo videti.
28.01.2004. u 15:21 

[es] :: .NET :: .NET Desktop razvoj :: key-sensitive ListBox c#

[ Pregleda: 808 | Odgovora: 2 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.