看板 C_Sharp 關於我們 聯絡資訊
其實PictureBox那段沒什麼. private void ShowProgress(Bitmap Bitmap, String StringFileName) { FormExtract.Text = "Extracting " + StringFileName + "..."; FormExtract.PictureBoxBitmap.Image = Bitmap } * * * * 神奇的事情出現了 @@ 剛剛想再確認一次錯誤, 結果居然就跑完了... ※ 引述《ithinkurdumb (ithinkurdumb)》之銘言: : 藉這個thread請教一個最近碰到的問題. : FormMain.cs是UI, : FileIO.cs是做file i/o (duh!) 的worker thread. : 我在FileIO裡面使用FormMain.Invoke來call FormMain裡頭的function, : 去變更UI的一個PictureBox. : 我程式是在只有一個CPU的laptop上面寫的, : 跑了很多次都沒問題. : 但是移到SMP或Core Duo的工作站上跑的時候, : 就會出現object is currently in use elsewhere的exception, : PictureBox也會出現可怕的Red Cross. : 請問一下這樣有可能的原因是什麼? : Control.Invoke不是會強制在UI Thread執行嗎? : 謝謝 :) : * * * : 補充一下, : 如果我把變更PictureBox的function改成變更Form的Text, : 那就一切正常. : 搜尋一下發現好像蠻多object is...的錯誤都和Bitmap或是PictureBox有關...@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.64.17.11
cole945:連產生bitmap那邊的code也貼一下吧._." 11/24 21:55
cole945:我之前在用Multithraed寫繪圖有關的東西時也發生過一樣的 11/24 21:55
cole945:問題~ 不過時間有點久了..只記得跟graphic/bitmap有關@_@a 11/24 21:55