I have two threads that look like this
pbDB_running = true; // start progress bar
Thread connectDb = new Thread(new ThreadStart(ConnectToDb));
Thread runProgress = new Thread(new ThreadStart(RunpbDB));
connectDb.Start();
runProgress.Start();
connectDb.Join();  //wait untill the connection is done
pbDB_running = false; //stop the progress bar
as you probably might have guessed, ConnectToDb is used to make a connection to a database, while runpbDB is making a progress bar run on the interface. The progress bar (pbDB) is a Windows.Forms control created with drag and drop on the design view. The runProgress thread is running RunpbDB() wich looks like this :
private void RunpbDB()
{
    while (pbDB_running)
    {
        if (pbDB.Value == 100) pbDB.Value = 0;
        else pbDB.Value += 1;
    }
    pbDB.Value = 0;
} 
When the two threads start I get the following exception inside RunpbDB() :
Cross-thread operation not valid: Control 'pbDB' accessed from a thread other than the thread it was created on.
What can I do to overcome this situation?
 
     
     
     
     
     
     
    