some problem with .net 2.0: In the application, a form subscribes a RunWorkerCompleted event of a BackgroundWorker. Suppose RunWorkerCompleted() is running in UI thread so some code inside it will do form rendering stuff. The application runs smooth in VS2005 environment, but it is running in worker thread when I run it in production environment (I tested it with InvokeRequired). The production environment has .Net 2.0 and .Net1.1 installed. In another production environment machine, .Net 2.0 and .Net1.1 are installed and this time the method is running in UI thread.
so, what we should do is :
IF(This.InvokeRequired)
this.Invoke(new Delegate(CallMethod),new object[]{arg1,arg2,xxx});
ELSE
CallMethod(arg1,arg2,xxx);