回答

2

問題是:我對所有線程都使用相同的System.Drawing.Pen實例。爲了解決這個問題,我不得不爲每個線程克隆它。

var pens = new Pen[0]; 
lock (this._pens) 
{ 
    pens = (Pen[])this._pens.Select(a => (Pen) a.Clone()).ToArray(); 
} 

即使鎖爲了解決這個問題

2

簡單的回答:不這樣做。只能在GUI線程上訪問GUI。

+0

它可以在GUI項目發生是至關重要的。請保留您的答案,以便其他用戶可以從中受益。 – 2009-12-16 19:43:12

相關問題