Use a BackgroundWorker object. Timers are okay, but they send the lowest priority message Windows has, and it's not guaranteed to be handled in a busy system. So, to avoid the issue, use a BackgroundWorker.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001