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

问题描述 投票:0回答:1

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

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

c# winforms user-interface combobox
1个回答
-1
投票

同样的问题,有人找到解决办法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.