well, for starters, your addhandlers for the progress change and completed events should be set BEFORE invoking the thread.
Also... what does the search function do? And what do you have in your ProgressChanged and RunWorkerCompleted event handlers?

-tg