现有文本框Text1和数据库表Test的Name字段的所有记录为:   
            abc   
            abd   
            ace   
            acc   
            abf   
            def   
            cef   
            cdd   
            ddf   
            dde   
    
  想实现的功能:在Text1的第一个字符位置输入a时,紧跟文本框的下方显示出   
            abc   
            abd   
            ace   
            acc   
            abf   
  若想选择ace,可用键盘的向下键来选择ace,然后按回车可使文本框Text1的text为ace;   
  当在Text1输入ab时,紧跟文本框的下方显示出   
            abc   
            abd   
            abf   
  若想选择abd,可用键盘的向下键来选择abd,然后按回车可使文本框Text1的text为abd。   
    
  以上功能其实跟编辑VB代码时一样:例如,当写到Text1.时,自动显示下拉列表,列表中有alignment,   
  appearance,backcolor等供选择。   
    
    
  请问这样的功能怎么实现?  

解决方案 »

  1.   

    winform中的ComboBox控件就有这样的功能
      

  2.   

    在界面上放置一个ComboBox控件,处理Load看效果private void Form1_Load(object sender, EventArgs e)
            {
                comboBox1.Items.Add("a");
                comboBox1.Items.Add("ab");
                comboBox1.Items.Add("abc");
                comboBox1.Items.Add("abcd");
                comboBox1.Items.Add("abcde");
                comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
                comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
            }
    主要就是修改AutoCompleteMode和AutoCompleteSource属性,绑定数据的方式自己改一下就行了
      

  3.   

    combobox  的 autocomplete?
      

  4.   


    lz只需把文本框换成ComboBox控件就可以
      

  5.   

    以前写过一个
    用的是textbox+listbox
    然后在textbox中写keyup事件
      

  6.   

    楼主说貌似是WEB开发的AJAX技术,winform里面没用过。呵呵。、
      

  7.   

    建议楼主使用ComboBox然后再combobox中的文字改变事件中,修改数据源!
    进行筛选,我原来试过几种方法就这种还比较不错。
      

  8.   

    winform中的ComboBox控件 comboBox1.Items.Add("a");
                comboBox1.Items.Add("ab");
                comboBox1.Items.Add("abc");
                comboBox1.Items.Add("abcd");
                comboBox1.Items.Add("abcde");
                comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
                comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
    另外还有一个办法就是在文本框下加事件弹出新窗口,然后新窗口只有一个全屏的LIST控件,选择后关闭新窗口
      

  9.   

    ComboBox控件就有这样的功能,设置两个属性就可以用了!
      

  10.   

    ComboBox控件就有这样的功能,设置两个属性就可以用了!
      

  11.   

    http://www.cnblogs.com/xianzuoqiaoqi/archive/2009/09/01/1558392.html
      

  12.   

    TextBox也有这功能
            private void Form1_Load(object sender, EventArgs e)
            {
                string[] arr={"aaa","abb","acc","bcc","addddddddddd"};
                //DataSet ds = new DataSet();//这个DataSet是你从数据库里取出来的值
                //string[] arr = new string[ds.Tables[0].Rows.Count];
                //for (int i = 0; i < arr.Length; i++)
                //{
                //    arr[i] = ds.Tables[0].Rows[i][2].ToString();
                //}            textBox1.AutoCompleteCustomSource.AddRange(arr);
                textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
                textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;//可以修改为AutoCompleteMode.SuggestAppend
            }