2013-03-17 70 views
1

我在添加一些picture boxes時遇到問題。我有一個form(它是班級)和一個單獨的班級。我想要做的是從form我的第二堂課picture boxes,但似乎我只是不知道如何。哦,我不想將第二課的圖片框發送到主圖片框,並將其添加到那裏,但直接添加它。如果我嘗試類似:C中的圖片框#

Form1.ActiveForm.Controls.Add(x); 

(其中x是我的圖片框)從第二類我得到'Cross-thread operation not valid'例外。

感謝您的任何建議!

+6

1.閱讀您的錯誤消息。試圖理解你的錯誤信息。這是一個常見的錯誤,這個問題之前已經被問到。 – 2013-03-17 21:27:38

+0

你試過google.com嗎? – 2013-03-17 21:27:55

+1

您的錯誤消息引用了多個線程,但您的問題描述沒有。 – mbeckish 2013-03-17 21:32:55

回答

0

您是否試圖在非UI線程上顯示您的圖片?通常這是你如何得到一個跨線程操作無效的異常。

你可能很簡單需要在你的課堂上做下面的事情。

if (this.InvokeRequired) 
{ 
    this.Invoke(() => ActiveForm.Controls.Add(x)); 
} 
else 
{ 
    ActiveForm.Controls.Add(x); 
} 

這將確保您使用UI線程來執行您的代碼。