Ho attraversato this SO question ma non è stato di aiuto.InvalidOperationException - l'oggetto è attualmente in uso altrove
Il caso qui è diverso. Sto usando Backgroundworkers. 1 ° BackgroundWorker inizia opera sull'input immagine di utente e all'interno firstbackgroundworker_runworkercompleted() sto usando chiamando altri 3 backgroundworkers
algo1backgroundworker.RunWorkerAsync();
algo2backgroundworker.RunWorkerAsync();
algo3backgroundworker.RunWorkerAsync();
questo è il codice per ogni:
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
}
operazioni simili sono fatte in altri algo * backgrougrondworker_doWork().
Ora QUALCHE VOLTA ho trovato "InvalidOperationException - l'oggetto è attualmente in uso altrove". È molto arbitrario. A volte mi capita di trovarlo in algo1backgroundworker_DoWork ea volte in algo2backgroundworker_DoWork ea volte in Application.Run (new myWindowsForm());
Non ho idea di cosa sta succedendo.