2013-02-07 38 views
0

enter image description here控制它是在

創建簡單:我想加載自己的狀態,然後用Background WorkerDatabase獲取數據並設置一些組合框的數據源。
DoWork事件I獲取數據,並在RunWorkerCompleted事件中設置數據源。問題是交叉線程問題。我能做些什麼來解決這個問題?

我不明白爲什麼設置DisplayMember是確定的,但在下一行,設置ValueMember拋出一個異常

+1

請張貼代碼不是它的圖片。 –

+0

抱歉@RichardSchneider,感謝提及 –

回答

2

我覺得你得到它倒退。 DoWork應該是FetchData,DoWorkCompleted應該是BindComboBoxes

+0

你是對的:)在改變代碼我複製粘貼的東西,沒有足夠的關注。謝謝。 –

11

您可以使用控件的「Invoke」方法在與該控件相同的上下文(線程)中運行代碼。這裏有一個簡單的例子:

comboBox1.Invoke((MethodInvoker)delegate{ 
     //Code to modify control will go here 
      comboBox1.Text = ""; 
     }); 
相關問題