c#组合框将项目添加为用户类型文本
本文关键字:用户 类型 文本 添加 项目 组合 | 更新日期: 2023-09-27 17:57:33
需要正确的解决方案:
- 用户在组合框中键入
- 每打一封信,都会从互联网上返回一份匹配姓名的列表
- 组合框下拉列表中已填充项目,组合框中的文本不受影响
我的代码:
private void InitializeComboBoxSearchSymbol()
{
comboBoxSearchName.ValueMember = "first_name";
comboBoxSearchName.DisplayMember = "first_name";
comboBoxSearchName.AutoCompleteMode = AutoCompleteMode.None;
comboBoxSearchName.SelectedIndexChanged += comboBoxSearchName_SelectedIndexChanged;
comboBoxSearchName.KeyDown += SearchNameTextChanged;
}
private void comboBoxSearchName_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void SearchNameTextChanged(object sender, KeyEventArgs e)
{
YahooData yd = new YahooData();
List<Name> listNames = yd.YahooNameLookup(comboBoxSearchName.Text);
comboBoxSearchName.Items.Clear();
comboBoxSearchName.Items.AddRange(listNames.ToArray());
}
上面的代码可以工作,但列表不会被下拉,文本光标会变得奇怪,有时还会抛出错误。
以编程方式打开Win Forms组合框:
comboBoxSearchName.DroppedDown = true;