我有一個帶有2個組合框的表單。我想combobox2.DataSource根據combobox1.Text和進行填充combobox2.Text(我假設用戶已經完成輸入,combobox1并且處于輸入的中間combobox2)。所以我有一個這樣的事件處理程序combobox2:private void combobox2_TextChanged(object sender, EventArgs e){ if (cmbDataSourceExtractor.IsBusy) cmbDataSourceExtractor.CancelAsync(); var filledComboboxValues = new FilledComboboxValues{ V1 = combobox1.Text, V2 = combobox2.Text}; cmbDataSourceExtractor.RunWorkerAsync(filledComboboxValues );}至于構建DataSource是耗時的過程(它創建對數據庫的請求并執行它),我認為最好使用BackgroundWorker在另一個過程中執行它。因此,有一種情況是cmbDataSourceExtractor尚未完成其工作,而用戶又鍵入了一個符號。在這種情況下,我在此行上看到一個異常,原因cmbDataSourceExtractor.RunWorkerAsync(filledComboboxValues );是BackgroundWorker很忙,無法同時執行多個操作。如何擺脫這種例外?提前致謝!
- 3 回答
- 0 關注
- 1656 瀏覽
添加回答
舉報
0/150
提交
取消