就是在textbox里面输入一个词,旁边自动出现一个窗口,把数据表里包括这个词的记录都列出来,而且随着输入词的增长,窗口里的符合记录应该越来越少。
也不知道用什么专业的词描述这个功能
具体还可以细分一下,一种是不需要打回车,这样最好
还有一种是打回车跳出窗口,但是这样有个问题,怕和别的textbox冲突,因为acceptbutton只有一个吧

解决方案 »

  1.   

    要想不回车就有相应数据,则可利用TextBox控件中的TextChanged事件,在事件代码里面写数据查询语句.第二种情况好像不好解决
      

  2.   

    可以根据文本框的TextChanged事件不停地做查询
      

  3.   

    lz:amandag(高歌)所说极是,不论你是想在另外的窗口得出最新结果,还是在同一窗口的其他控件中如:textbox,listview,datagridview等控件中显示,问题的本质在于:必须在能动态响应textbox输入变化的事件中:
    private void textBox1_TextChanged(object sender, EventArgs e)
            {
                //对各种变量定义,这里不做具体描述
                try
                {
                    string strSql = string.Format("Select * from 表名 where 字段名 like {0}",textBox1.Text);                sqlCn = new SqlConnection(m_strCn);
                    sqlDA = new SqlDataAdapter(strSql, sqlCn);
                    sqlDA.Fill(dataSet1, "表名");
                    //此时,dataSet1变完全取得动态、最新的数据,可以根据需要,将要数据显示到另外的窗体中
                    Form1 frm = new Form1();
                    。。
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
      

  4.   

    如果想每输入一个字符就进行一次操作的话 不能用onTextChange 而且也不应该在服务端处理,否则每输入一次就postback,让人无法忍受。 
    建议楼主用客户端的onkeyup事件 我有一小段代码可以看下 <script language="javascript" type="text/javascript"> 
    function show() 

    document.getElementById("div1").innerText = document.getElementById("Text1").value; 

    </script> 
    <div id="div1"></div> 
    <input id="Text1" type="text" onkeyup="show();"/>
      

  5.   

    建议在textbox中输入内容后按回车键就处理(查询数据库)
      

  6.   

    楼主已经说了是winform,除了在TextChanged事件处理程序中不停查询外实在找不到别的办法。最多也就是用存储过程,还有在数据库的查询字段加上索引等优化一下查询了。我前几天刚做了一个。如果数据量不多也许可以先读到DataTable,然后在TextChanged事件处理里进行Filter~
      

  7.   

    一次读出目标表```每TextChanged一次就对ds或dt做一次查询
      

  8.   

    就是跟csdn发贴时那个效果一样吧?
      

  9.   

    可利用TextBox控件中的TextChanged事件,在事件代码里面写数据查询语句.