views:

130

answers:

2
+1  Q: 

Threading in .net

I have a simple example of a winforms application where i choose a directory in a directory chooser and click a button to loop through the directory and copy each file in the directory into another directory.

i want to do the file copy on a background thread to avoid locking the GUI.

i am looking for the simplest solution to:

  1. Create the background thread
  2. Pass the source and destinations in
  3. Get a callback on progress so i can show a progress bar on the GUI thread
+5  A: 

I would recommend using the BackgroundWorker class.

Example.

Mitch Wheat
+1  A: 

In addition to the above answer, I'd add that the BackgroundWorker is ideal for this as it can give you progress updates too. Just make sure you prevent reentry - that is you need to prevent the situation where the user could start the background worker again before it has completed.

Craig Shearer