现在有一个文本框,想在输入的时候,在TextChanged这个事件中根据输入的字符去数据库搜索数据,找出匹配的数据后出现下拉列表供用户选择。类似于GOOGLE输入时下面出来的相关项的列表。
用什么控件实现?用TextBox好像不行,ComBox的DropDownSytel设置为Simple属性倒是挺像的,但是下面那个列表一直显示,怎么能隐藏呢?

解决方案 »

  1.   

    用Panel和DatagridView实现,在TextChanged事件中,检索数据库中的信息,把信息绑定到datagridview中,显示出来。
      

  2.   

    这个是可以用现在流行的Ajax技术实现
    AutoCompleteExtender此控件即可
      

  3.   

    是winfrom应用程序,怎么用Ajax?
      

  4.   


            private void button1_Click(object sender, EventArgs e)
            {
                textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
                textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
                textBox1.AutoCompleteCustomSource =数据源 //设置数据源
            }
      

  5.   

    希望这个能够给你有所启发。http://www.codeproject.com/KB/ajax/typeahead.aspx
      

  6.   


    textbox 可以的不要事件处理 除非你要他作为过滤字段
    设置这样就可以了
    textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
    textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
    textBox1.AutoCompleteCustomSource =数据源 //设置数据源
      

  7.   

       AutoCompleteStringCollection ac = new AutoCompleteStringCollection();
                ac.Add("aaaaa");
                ac.Add("bbbbbb");我用这个作为数据源
      

  8.   

    对了,如果我的数据源从数据库充查询出来是一个DataTable怎么设置数据源? 要遍历ADD到AutoCompleteStringCollection里面么?
      

  9.   

    这个我就不太清楚了,也许吧。其实既然知道了方向,你不如在VS中按下F1然后就能知道个大概了