我正在開發一個winform應用程序,並會在數據庫中發出請求並異步填充我的組合框,但由於它們來自另一個線程,因此存在訪問控制問題,下面是代碼。Linq to Sql導致組合框異步
this.backWorker.DoWork + = delegate
{
comboBoxUsers.DataSource = repositoryUser.SelectAll();
comboBoxUsers.ValueMember = "UserId";
comboBoxUsers.DisplayMember = "Name";
};
backWorker.RunWorkerAsync();
我學習有關envoke但我遇到了麻煩來實現這一點, 我需要做的就是離開DoWork的事件可見的進度欄,並選擇這樣做。
另外,如果ComboBox的ValueMember和DisplayMember永遠不會改變,您可以在窗體的構造函數或關聯的designer.cs文件中設置它們。唯一真正關心的是將查詢結果返回給主線程。 – Dubs