Do not be too worried. Instead of directly using threads, M$ have created the BackgroundWorker control that can do most of this stuff for you. It has special events where you can access controls without this error.