$ 0 0 Your basic problem is that you need to not do a lot of work on the UI thread. You need to look at using something like BackgroundWorker to do work on a different thread.