下拉组合框不自动完成。

时间:2016-02-12 10:42:54

标签: c# combobox autocomplete

我创建的组合框在输入第一个字母后快速按下" Tab"后,不会自动完成存储在列表中的单词。但是,如果您慢慢输入,然后按" Tab"。它的自动完成。我已经发现问题出在key_down事件上。当你按下一个键然后按" Tab"它没有自动完成,就好像你松开了键,然后按" Tab"它自动完成。

如果我开始输入第二个字符然后" Tab"它自动完成。

Key_up事件:

private void cboReasonCd_KeyUp(Object eventSender, KeyEventArgs eventArgs)
    {
        int KeyCode = (int)eventArgs.KeyCode;
        int Shift = (int)eventArgs.KeyData / 0x10000;
        CancelFillCbo.ComboReasonCD_KeyUp(KeyCode, Shift);

    }

此处CancelFillCbo是表单名称,ComboReasonCD方法用于填充列表。

Key_Down事件:

private void cboReasonCd_KeyDown(object sender, KeyEventArgs e)
    {
        mlCurrentPosition = cboReasonCd.SelectionStart;
    }

cboReasonCd是组合框的名称。

1 个答案:

答案 0 :(得分:0)

你试过built-in autocomplete吗?你不需要按Tab键。 但是,如果要编写自己的自动完成,请使用textbox和TextChanged事件来显示匹配的单词,或使用keydown事件检测是否已按下tab以显示它们。