如何使VB的combobox控件自动从列表中选择项目

来源:百度知道 编辑:UC知道 时间:2024/06/30 04:48:36
一个combo1,在Form_Load事件中对它新增了项目:"A123","A234","B123","B234",我想实现在这样效果:在combo1中输入A时,自动会把第一个字母是A的第一个项目A123显示在combo1中,如果第二个输入的是2时,A234自动显示在combo1中.请问要如何做?在EXCEL中类似这个控件是自带了这个功能的,这样输入时很方便,但在VB6中这个控件没有这个功能,高手们帮帮忙.请帮写详代码,只要成功,送30分
我之前的做法是,在Form_Load事件中,就对数据库进行查询,然后把查询到的记录用combo1.Additem 写入到控件列表中,之后,在控件的Combo1_Change()事件中对输入的字符进行筛选对比,在列表中选取到合适项目,然后把值再赋于combo1.但就是这里,一旦赋值,又再次触发了change事件,然后得不到我想要的结果了.各位高手再帮忙想想.谢谢了.

这个想要有效率的话,需要建立一个字典进行查询,构建一个TRIE树,用VB自带的数据结构稍微麻烦。

最好把所有项都输入到数据库中,在数据库中建立一个查询,查询当前combo1的值,查询代码:"select * from Tabel where Filde like '%" & combo1.text & "%'",然后将combo1绑定到这个查询上,或者用代码来添加也行,比如行业软件就是用的模糊查询来取出商品名字,包括拼单简写或汉字。

不要赋值,只是添加列表,不要更改combo1.text属性,这个change事件由输入时触发。

combo1.text=combo1.list(index)