I believe the issue is with the age of the book. In .NET 1.1 and before you could directly access the UI elements on the main thread from a worker thread. However, in .NET 2.0 (I believe) this changed so that you could no longer directly access UI elements from a worker thread. The samples written to do so will not work on current versions of .NET. Take a look at threading from a new version of the book (the code sample) and I expect you'll find that it no longer directly accesses the UI elements from a worker thread.