Re: [問題] delegate.BeginInvoke跟control.invoke …

看板C_Sharp作者 (ithinkurdumb)時間18年前 (2007/11/23 01:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串8/9 (看更多)
藉這個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 ※ 編輯: ithinkurdumb 來自: 210.64.17.11 (11/23 03:07)

11/23 09:47, , 1F
沒遇過這種,貼picturebox那段上來大家研究看看? XD
11/23 09:47, 1F
文章代碼(AID): #17HRS9Fq (C_Sharp)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 8 之 9 篇):
文章代碼(AID): #17HRS9Fq (C_Sharp)