我有一个组合框,我可以在其中输入文本,它会根据包含该文本的项目列表建议结果。一切似乎都工作正常,除了当我输入第一个字母时,组合框会自动选择结果列表中的第一项,如屏幕截图所示(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 相同。
我需要组合框在我开始输入时立即开始过滤结果,而不必按同一字母两次。我还需要检查其他选项/属性吗?
同样的问题,有人找到解决办法了吗?