组合框在搜索文本时选择第一项

时间:2019-10-29 11:36:55

标签: c# winforms user-interface combobox

我有一个组合框,可以在其中键入文本,并根据包含该文本的项目列表来建议结果。一切似乎都正常,除非我输入第一个字母,否则组合框会自动选择结果列表中的第一项,如屏幕截图(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相同。

我需要组合框在我开始键入内容后立即开始过滤结果,而不必两次按相同的字母。我还需要检查其他选项/属性吗?

0 个答案:

没有答案