Graham,
Either will work, however you will have the same problem of blocked UI
thread - freezed UI. Porbably it doesn't make a lot of sense to use a worker
thread if you going to block the main thread anyways.
You may consider using some kind of notification (event) that the worker
thread may fire when it is done. It would be easely achieved by using
thread-pool threads. To do that create a delegate for the method you want to
execute in a worker thread. Call delegate's BeginInvoke methods and pass
AsyncCallback delegate to a method that will execute when the worker thread
finishes
For more info and example looka at MSDN
- off-line -
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/cpguide/html/cpovrasynchronou
sprogrammingoverview.htm
- or on-line-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cp
ovrasynchronousprogrammingoverview.asp
More specifically look at the section
'Executing a Callback Method When an Asynchronous Call Completes'

Signature
HTH
Stoitcho Goutsev (100) [C# MVP]
> Hi,
>
[quoted text clipped - 18 lines]
>
> Graham
Graham Allwood - 30 Jul 2004 10:13 GMT
Sounds like a good idea. I presume I could then disable the menu option
until the async call had completed.
Thanks.
> Graham,
>
[quoted text clipped - 11 lines]
> For more info and example looka at MSDN
> - off-line -
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/cpguide/html/cpovrasynchronou
> sprogrammingoverview.htm
>
> - or on-line-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cp
ovrasynchronousprogrammingoverview.asp
> More specifically look at the section
> 'Executing a Callback Method When an Asynchronous Call Completes'
[quoted text clipped - 23 lines]
> >
> > Graham