C# c组合框类自动完成方法

C# c组合框类自动完成方法,c#,winforms,autocomplete,combobox,C#,Winforms,Autocomplete,Combobox,我一直在寻找一个类似的自动完成模式。有人能帮我吗 当我在组合框中输入文本时,应该向数据库询问数据。 一切进展顺利。 但是我希望我的组合框的行为像建议模式,但它不工作 我试过这个: cursorPosition = txtNaam.SelectionStart; string query = "SELECT bedr_naam FROM tblbedrijf WHERE bedr_naam LIKE '%" + txtNaam.Text + "%'"; DataTable table = Glob

我一直在寻找一个类似的自动完成模式。有人能帮我吗

当我在组合框中输入文本时,应该向数据库询问数据。 一切进展顺利。 但是我希望我的组合框的行为像建议模式,但它不工作

我试过这个:

cursorPosition = txtNaam.SelectionStart;
string query = "SELECT bedr_naam FROM tblbedrijf WHERE bedr_naam LIKE '%" + txtNaam.Text + "%'";
DataTable table = Global.db.Select(query);
txtNaam.Items.Clear();
for (int i = 0; i < table.Rows.Count; i++)
{
    txtNaam.Items.Add(table.Rows[i][0].ToString());
}
Cursor.Current = Cursors.Default;

txtNaam.Select(cursorPosition, 0);
但是这个函数创建的行为是关闭的,它不像建议模式那样工作,它有点错误


有人能帮我让它正常工作吗。

我可能认为这个概念不正确,但你可以在TextChanged事件上这样做:-


如果将DataTable绑定到绑定源,并将绑定源用作组合框的数据源,则每次按键都会细化列表。

代码中的txtNaam是什么?您是在还是?对不起,txtNaam是组合框的名称。。。我知道它关闭了。你可以在textchanged事件上使用DataView吗?这会改变combobox数据源的形状吗?在combobox中获取数据不是问题,我希望AutoCompletionMode的行为仅在使用LIKE运算符时建议
DataTable.DefaultView.RowFilter = "SearchField LIKE '*" + Combobox1.Text + "*'";