我有一个组合框,可以在其中键入文本,并根据包含该文本的项目列表来建议结果。一切似乎都正常,除非我输入第一个字母,否则组合框会自动选择结果列表中的第一项,如屏幕截图(http://prntscr.com/pple6f所示)所示。我需要再次按该键以清除文本字段并输入正确的名称。只有这样,结果才正确(http://prntscr.com/pplekc)
我有以下方法来检查组合框文本更新
private void comboBox1_TextUpdate(object sender, EventArgs e)
{
comboBox1.Items.Clear();
listNew.Clear();
var source = new AutoCompleteStringCollection();
foreach (var item in listOnit)
{
if (item.ToLower().Contains(this.comboBox1.Text.ToLower()))
{
listNew.Add(item);
}
}
comboBox1.Items.AddRange(listNew.ToArray());
comboBox1.SelectionStart = this.comboBox1.Text.Length;
Cursor = Cursors.Default;
comboBox1.DroppedDown = true;
}
AutoCompleteMode设置为None,与AutoCompleteSource相同。
我需要组合框在我开始键入内容后立即开始过滤结果,而不必两次按相同的字母。我还需要检查其他选项/属性吗?