I have a winforms application, the issue has to do with threading. Since I am calling 'MyCustomCode() which creates a new thread, and calls the method 'SomeMethod()' which then accesses MessageBox.Show(...).
The problem has to do with threading, since the newly created thread is trying to access a control that was created on another thread.
I am getting the error:
Cross-thread operation not valid: Control 'TestForm' accessed from a thread other than the thread it was created on.
public TestForm()
{
 InitializeComponent();
 // custom code
 //
 MyCustomCode();
}
public void SomeMethod()
{
 // ***** This causes an error  ****
 MessageBox.Show(this, 
  ex.Message, 
  "Error", 
  MessageBoxButtons.OK, 
  MessageBoxIcon.Error
 );
}
private void InitializeAutoUpdater()
{
     // Seperate thread is spun to keep polling for updates
     ThreadStart ts = new ThreadStart(SomeMethod);
     pollThread = new Thread(ts);
     pollThread.Start();
}
Update
If you look at this example http://www.codeproject.com/KB/cs/vanillaupdaterblock.aspx, the method CheckAndUpdate is calling MessageBox.Show(..) that is what my problem is. I would have thought that code was good to go!
Funny thing is that this code was working just fine on Friday???