我认为 Combobox 数据绑定过程也会降低性能。如果可能的话,您应该使用其他控件而不是 Combobox 来处理大数据。
我假设您的用户应该知道他们想要选择哪种药物,这样他们就可以在搜索框中输入部分药物名称。这只是一个选择,当用户在列表中输入要搜索的单词时,您可以使用带有AutoComplete的 TextBox(在我的示例代码中命名为 txtMedicines )来搜索绑定数据。
这是一个示例代码
private void InitializeMedicinesAutoComplete()
{
var searchMed = Lookup.Medicines
.Where(d => d.DosageForm.Equals(cmbType.SelectedValue.ToString())).ToList();
var source = new AutoCompleteStringCollection();
foreach (var med in searchMed)
{
// **DisplayMemberText mean any field that you want to display in searching list
source.Add(med.DisplayMemberText);
}
txtMedicines.AutoCompleteMode = AutoCompleteMode.Suggest;
txtMedicines.AutoCompleteSource = AutoCompleteSource.CustomSource;
txtMedicines.AutoCompleteCustomSource = source;
}
private void cmbType_SelectedIndexChanged(object sender, EventArgs e)
{
InitializeMedicinesAutoComplete();
}
我希望这将有所帮助。