Le thread appelant ne peut pas accéder à cet objet, car un autre thread en est le propriétaire

j'ai un problème à chaque fois que j'actualise la corrosion bar, je reçois le message d'erreur Le thread appelant ne peut pas accéder à cet objet, car un autre thread en est le propriétaire
comment puis-je le supprimer
shashank

     backgroundWorker12 = new BackgroundWorker();
     timer1.Enabled = true;
      //cancel any async processes running for the background worker
     //backgroundWorker1.CancelAsync();
     backgroundWorker12.DoWork += (s, args) =>
     {

         BackgroundWorker worker2 = s as BackgroundWorker;
         worker2.WorkerReportsProgress = true;

         float percentageDone = 20f;
         //check if the user status and update the password in xml
         CheckUseridPwd();


         //call the function to sync the wall chart data

         //call the function to sync event relate data

         percentageDone = 100f;
         ValidateLogin2(txtUserID.Text.Trim(), txtPassword.Password.Trim(), -1); 
         worker2.ReportProgress((int)percentageDone);

     };`
InformationsquelleAutor Shashank | 2010-06-30