Я прошел этот вопрос SO, но это не помогло.
Случай здесь другой. Я использую Backgroundworkers. 1-й фоновой рабочий начинает работать на входе пользователя и внутри firstbackgroundworker_runworkercompleted() Я использую вызов 3 других фоновых работ
algo1backgroundworker.RunWorkerAsync();
algo2backgroundworker.RunWorkerAsync();
algo3backgroundworker.RunWorkerAsync();
это код для каждого:
algo1backgroundworker_DoWork()
{
Image img = this.picturebox.Image;
imgclone = img.clone();
//operate on imgclone and output it
}
algo2backgroundworker_DoWork()
{
Image img = this.picturebox.Image;
imgclone = img.clone();
//operate on imgclone and output it
}
аналогичные операции выполняются в другом algo * backgrougrondworker_doWork().
Теперь ИТОГО Я получаю объект InvalidOperationException, который в настоящее время используется в другом месте. Это очень произвольно. Я иногда получаю это в algo1backgroundworker_DoWork, а иногда и в algo2backgroundworker_DoWork, а иногда и в Application.Run(new myWindowsForm());
Я не знаю, что происходит.