Peter,
I guess you can enable a timer in the GotFocus() event of the textbox and disable it in the LostFocus() event of the same textbox. You can then set the timer to an interval, let's say 5 seconds, and when it fires it runs the filter. To avoid firing it every 5 seconds no matter what, in the KeyPress event of the textbox you can call the timer's Reset() method, this way you ensure that those five seconds are 5 seconds of inactivity.
HTH
"The five senses obstruct or deform the apprehension of reality."
Jorge L. Borges?
"Premature optimization is the root of all evil in programming."
Donald Knuth, repeating C. A. R. Hoare
"To die for a religion is easier than to live it absolutely"
Jorge L. Borges