我目前正在更新的圖表是我的形式使用背景工人更新C#圖清除系列,拋出異常。使用的BackgroundWorker
基本上,我想在清理系列之後做更多的處理,這會使GUI完全放慢 - 所以在另一個線程中需要這個。
我認爲通過將它作爲參數傳遞,我應該是安全的,但顯然不是!
有趣的是,圖表在標籤頁上。如果tabpage在後臺,我可以反覆運行,但是如果我運行它,查看圖表,再次隱藏它,然後重新運行,它會拋出異常。顯然,如果圖表在前臺也會拋出。
任何人都可以建議我可以做什麼不同嗎?
謝謝!
編輯: 我知道,這可以在形式線程來完成,當我再次分配給它。但是,使用後臺工作者的整個目的是避免整個程序停止。正如我所說的,有更多的處理比這個命令更多。
我認爲將它作爲參數傳遞將允許我在該線程中無障礙地訪問它,但有沒有機會讓這個傳遞的圖表仍然以某種方式指向原始圖表?如果是這樣,這怎麼能克服?
我想盡可能地屏蔽GUI線程 - 所以在調用每個命令時看起來毫無意義。
的問題是,有很多更多的處理比只是做。我想要一個背景工作者的原因是保持GUI的響應。因此,如果我調用backgroundworker,只是爲了告訴它在GUI線程中執行所有操作,沒有任何優勢。我所希望的是複製圖表,讓後臺工作人員處理它,然後將其傳回,並將新圖表設置爲舊圖表。這不可能嗎? – Mark 2011-01-13 10:50:34