自动完成文本框winforms

自动完成文本框winforms,winforms,autocomplete,Winforms,Autocomplete,我想知道是否有任何方法可以使用数据库中的动态数据为文本框创建一些动态自动完成 类似于ASP.NET中的jQuery/ajax 谢谢首先创建AutoCompleteStringCollection使用数组添加自己的建议。将此集合设置为文本框中的AutoCompleteCustomSource。使用此示例。此外,您还可以使用TextChanged事件,并使用text.StartWith(“textBoxValue”)等参数从Db获取您的集合 使用AutoCompleteCustomSource、Au

我想知道是否有任何方法可以使用数据库中的动态数据为文本框创建一些动态自动完成

类似于ASP.NET中的jQuery/ajax


谢谢

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

使用AutoCompleteCustomSource、AutoCompleteMode和AutoCompleteSource属性创建一个文本框,通过将输入的前缀与维护的源中所有字符串的前缀进行比较,自动完成输入字符串。这对于URL、地址、文件名、,或经常输入命令

这里是msdn


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

使用AutoCompleteCustomSource、AutoCompleteMode和AutoCompleteSource属性创建一个文本框,通过将输入的前缀与维护的源中所有字符串的前缀进行比较,自动完成输入字符串。这对于URL、地址、文件名、,或经常输入命令

这里是msdn


是的,但在这种情况下,我必须在程序开始时加载所有数据并填充数组。但我的意思是加载结果以显示动态。例如:用户开始打字,我从数据库中只选择了前10行。可能吗?是的,但在这种情况下,我必须在程序开始时加载所有数据并填充数组。但我的意思是加载结果以显示动态。例如:用户开始打字,我从数据库中只选择了前10行。可能吗?
 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;
        }
    }