一直在讀取後臺工作人員,主要是doWork方法。它表示這應該有計算,但不應該依賴於GUI代碼。這是我的功能:關於後臺工作人員的一些說明
void fillLiguanea()
{
// this.liguanea_LaneTableAdapter1.Fill(this.pharmaciesDataSet1.Liguanea_Lane);
try
{
string connectionString = "Data Source=LPMSW09000012JD\\SQLEXPRESS;Initial Catalog=Pharmacies;Integrated Security=True";
SqlConnection con = new SqlConnection(connectionString);
con.Open();
string query = "SELECT * FROM dbo.Liguanea_Lane2";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
string scode = dr.GetString(dr.GetOrdinal("code"));
comboBox2.Items.Add(scode);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
在上面的函數中有一個名爲「comboBox2」的組合框。我的問題是,這是否意味着我不能僅僅因爲這個comboBox控制器就在doWork方法中調用我的整體上面的函數呢?
填寫了'名單'並將其分配給e.Result。然後,您的RunWorkerCompleted事件處理程序可以更新組合框。 –
Stack Overflow已經有很多關於如何與來自另一個線程的UI對象交互的問題和解答,包括'BackgroundWorker'使用的工作線程。看到一個這樣的例子標記爲重複。如果您發現自己仍然有困難,在閱讀了大量可用信息後,發佈一個新問題,其中包含一個很好的[mcve],可以清楚地顯示您嘗試過的內容,並詳細說明您已完成的研究和具體而言,你仍然無法理解。 –