自动完成文本框winforms

问题描述:

我想知道是否有任何方式来创建一些动态自动完成的文本框与动态数据从数据库?自动完成文本框winforms

像ASP.NET中的jQuery/ajax?

谢谢

首先创建AutoCompleteStringCollection使用数组添加自己的建议。将此集合设置为文本框AutoCompleteCustomSource。使用此示例。您也可以使用TextChanged事件并从Db中获取集合,例如text.StartWith(“textBoxValue”)。

使用AutoCompleteCustomSource,AutoCompleteMode和AutoCompleteSource属性来创建一个文本框通过比较前缀被输入到在保持source.This所有字符串的前缀自动完成的输入字符串为文本框控件有用,其中网址,地址,文件名或命令将经常输入。

这里MSDN doc

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; 
     } 
    } 
+0

肯定的,但在这种情况下,我必须加载在我的程序开始的所有数据,并填补了数组。但我的意思是加载结果表明动态性。例如:用户开始键入并从数据库中仅选择10个顶部行。可能吗? – user1912372