WinForm TextBox 自动完成
强调一下,是WinForm,不是asp.net
设置了 TextBox 的 AutoCompleteMode 为 SuggestAppend,AutoCompleteSource 为 CustomSource,并且为AutoCompleteCustomSource 添加了数据源
但是这个 TextBox 必须输入至少一个字符之后才显示建议的下拉框
我希望在 TextBox 得到焦点时就显示下拉框,应该怎么做?
------解决方案--------------------反正我没见到这样的程序,没有输入任何内容就给自动完成提示的。
你可以使用ComboBox,比如类似IE地址栏,既允许自动完成,也允许下拉。
------解决方案--------------------增加一个focus事件就要以了
------解决方案--------------------有个笨办法,是在wince下用的,下面有写一个listbox,平时隐藏,到上面的text有焦点就显示,失去焦点就隐藏.
------解决方案--------------------
  private void comboName_KeyUp(object sender, KeyEventArgs e)
       {
           if (e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z || e.KeyCode == Keys.Back)
           {
               if (comboName.Text.Length > 0)
               {
                   string oldstring = comboName.Text;
                   string sql = "select ProId, 商品名 + '     ' + 厂家 + '      ' + 规格 as cc from pro where 简码 like '%" + comboName.Text.Trim() + "%' or 商品名 like '%" + comboName.Text.Trim() + "%'";
                   AccessHelp ah = new AccessHelp();
                   this.comboName.DataSource = ah.select(sql).Tables[0];
                   comboName.DisplayMember = "cc";
                   comboName.ValueMember = "ProId";
                   comboName.DroppedDown = true;
                   comboName.Text = oldstring;
                   comboName.Select(oldstring.Length, 0);
               }
           }
       }
给点分吧。。。
------解决方案--------------------我用的combobox 如果你非要用textbox 也行 ,把combobox 隐藏到textbox后面,如何获取值就不用说了吧