【发布时间】:2017-02-13 03:58:39
【问题描述】:
我想知道是否有任何方法可以使用数据库中的动态数据为文本框创建一些动态自动完成功能?
像 ASP.NET 中的 jQuery/ajax 之类的东西?
谢谢
【问题讨论】:
标签: winforms autocomplete
我想知道是否有任何方法可以使用数据库中的动态数据为文本框创建一些动态自动完成功能?
像 ASP.NET 中的 jQuery/ajax 之类的东西?
谢谢
【问题讨论】:
标签: winforms autocomplete
首先创建AutoCompleteStringCollection 使用数组添加自己的建议。将此集合设置为您的文本框为AutoCompleteCustomSource。使用此示例。您也可以使用 TextChanged 事件并使用 text.StartWith("textBoxValue") 等参数从 Db 获取您的收藏。
使用 AutoCompleteCustomSource、AutoCompleteMode 和 AutoCompleteSource 属性创建一个 TextBox,通过将输入的前缀与维护的源中所有字符串的前缀进行比较,自动完成输入字符串。这对于其中包含 URL、地址、文件名,或经常输入命令。
这里是msdndoc
AutoCompleteStringCollection autoCollection= new AutoCompleteStringCollection();
private void Form1_Load(object sender, EventArgs e)
{
textBox1.AutoCompleteCustomSource = autoCollection;
txtBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
txtBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Lenght > 2)
{
autoCollection = yourCollectionFromDB(textBox1.Text)
txtBox1.AutoCompleteCustomSource = autoCollection;
}
}
【讨论】: