我有兩臺機器,一個是老的東芝筆記本電腦,我在家裏使用的發展,另一個是一個1歲的戴爾在工作。兩者都運行相同版本的Visual Studio 2008.在過去的幾個月中,我一直在爲客戶構建一個項目。它在我的舊筆記本電腦上運行良好,但是如果我在工作環境中運行它,我會遇到跨線程問題,有人知道爲什麼?有什麼項目/環境,我需要選擇或取消...同一項目,不同的機器,一臺機器具有跨線程問題
,因爲我添加了一個選項卡控制主用戶界面的問題已經發生過。我已像的可膨脹面板反應,從而用戶可以將其隱藏如果不使用它 - 加載的主要形式時,當突片控制被動態地調整大小發生錯扣錯誤。
這是該行失敗的,這是主要的負載部分:
expandable_tabcontrol.Left += expandable_tabcontrol.Width;
這是錯誤消息:在家
An unhandled exception of type 'System.InvalidOperationException'
occurred in System.Windows.Forms.dll
Additional information: Cross-thread operation
not valid: Control 'frmUserInterFace' accessed
from a thread other than the thread it was created on.
運行正常,無法在工作..
謝謝,R.
多線程錯誤是永遠存在的。只是有時他們碰巧工作,有時不工作。 在這種情況下,確定的第一件事情是怎麼這段代碼被另一個線程上運行?你有'BackgroundWorker'嗎? – 2010-07-09 20:12:45
問題:*您是否從不同的線程訪問該控件? – 2010-07-09 20:14:47
這裏沒有很多信息。我會做的第一件事:全局搜索整個System.Threading命名空間的解決方案。接下來,我會查看是否有第三方控件修改內容。 – Juliet 2010-07-09 20:20:53