» »

c# - realtime štetje znakov, besed ...

c# - realtime štetje znakov, besed ...

brojgar ::

Problem / C# .net20:

Imam richTextBox kontrolo, na katero želim obesit realtime števec znakov/besed/odstavkov.

Znake štejem z regularnimi izrazi v stilu:

string pattern = @"(w+?)";
return Regex.Matches(this.inputString_, pattern, RegexOptions.Compiled).Count;

Če je besedila v richTextBoxu veliko (od 50.000 znakov naprej) postanejo zadeve zelo počasne.

Zadevo sem rešil tako, da sem naredil novo instanco BackgroundWorkerja, ki štetje pospravi v svoj thread. S timerjem ga kličem recimo vsako sekundo, da lepo v ozadju šteje znake. Z RunWorkerCompleted potem izpišem novo stanje na zaslon.

Problem pa je, da pri pisanju v kontrolo z veliko besedila še vedno prihaja do delayjev. Ne sicer velikih, pa vseeno motečih. Jaz pa hočem, da hitrost osveževanja pri pisanju čisto nič ne trpi!

Zanima me, kakšen bi sploh bil pravi način reševanja tega problema. Je background worker sploh prava rešitev?
i.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] da se program ne "obesi"

Oddelek: Programiranje
142123 (1543) win64
»

VB.streamwriter

Oddelek: Programiranje
121099 (932) P=LN
»

[VB] Komunikacija s serijskimi napravami

Oddelek: Programiranje
412417 (1691) mNeRo
»

[VB] Open

Oddelek: Programiranje
71625 (1464) Monster
»

VB

Oddelek: Programiranje
61399 (1295) strel

Več podobnih tem