Multi-Threaded Async File Copy Class
Next, add event handlers to your code to handle status updates:
When you write the event handlers, make sure that you use Invoke to interact with the UI thread - the event handlers will be running under the context of one of the FileCopyMTStream threadpool threads. If you try to access a control from that thread, it will throw an error.
When you are ready to kick off the copy, call the following method:
Here is a test project that includes the class:
Here is the class. Enjoy!