From CodeProject:
Download demo solution - 116.6 KB. When developing rich business applications, developers often have to deal with manipulating data and UI on separate threads and so have to manage cross-thread controls access. In WinForms, we do that by using callback methods and invoke them on the main thread.