一、开发环境
VS2008+Wince+Winform+C#
二、背景简介
首次接触PDA开发,要求优化原下拉框,实现模糊查询,就像百度查询框等效果,可以对输入值实时刷选下拉选项。避免上千个下拉选项,用户体验差。
三、PC端的实现
winform中ComboBox利用AutoComplete属性实现模糊查询(有缺陷)
四、Wince实现模糊查询
方式一、由于Wince没有上文提及的textupdate及autoXX属性,只能用keyup属性触发模糊查询。没有找到下拉事件的触发方式,只能模拟鼠标事件。
方式二、自己画一个下拉框,Textbox+Panel+Listbox,如下图:
基本思路如下
1)界面初始化时,将全部下拉值存于datasourcelist中
2)panel内放置listbox,初始隐藏,即两者的visiable默认false
3)当textbox获取焦点时,panel+listbox可视,将datasourcelist存于listbox的datasource
4)当keyup时,对datasourcelist进行模糊匹配,将匹配结果datasourcelist2
存于listbox的datasource中
5)当listbox选中值改变,则textbox的text则为选中值。