1.用一个List<string> listOnit存放初始化数据,用一个List<string> listNew存放输入key之后,返回的数据。
2.用上面的listOnit初始化ComboBox数据源进行绑定。
3.在TextUpdate方法内部,添加实现方法。
首先进入方法,先清除ComboBox的内容,然后将输入的内容去listOnit初始化的数据中比对,找出对应数据,然后放入listNew存放数据,最后将listNew数据重新赋值给 ComboBox。
实现过程中的问题:
1.绑定数据一开始用的DataSource方式,但是写到下面重新给ComboBox设置数据源的时候,报错:不能为已经设置DataSource的combobox赋值。
解决方式:将赋值方式改为:Item.Add(obj)或者Item.AddRange(obj)方式
2.下拉框的内容一直在增加
解决方式:当文本框文本改变时,清空下拉框的内容,然后再添加数据。
3.输入文本改变时,没有自动弹出下拉框显示已经查询好的数据。
解决方式:设置comboBox的DroppedDown 属性为True。
4.ComboBox文本框改变事件一开始选择用的是TextChanged事件,但是当在界面用 上 下键盘选择时,出现bug,不能进行选择。
解决方式:将文本框改变事件换为TextUpdate事件,然后添加实现方法。
5.当在ComboBox输入内容时,内容文本是倒序输出的,光标位置始终在最前面。
解决方式:设置光标的显示位置,this.comboBox1.SelectionStart = this.comboBox1.Text.Length;
6.输入内容改变时,用鼠标选择下拉列表项的时候,鼠标指针消失,被下拉框覆盖掉。
解决方式:设置鼠标状态为一开始的默认状态,Cursor = Cursors.Default;