医院的管理系统,输入几个字符,就有很多匹配的药供选择,如何实现的,
我不是问拼音码的问题,而是这个功能选择控件如何实现的,因为系统没有提供这种功能的标准控件,只能自已做,但是不知如何做.
我发现这个控件有以下几个特点:
1.用户选择界面平时是看不到的.即隐藏的.只有当用户在文本框中输入字符时,这个选择界面才出现在用户面前.我不知道这个选择界面是如何实现的,用什么做的.
2.这个选择界面的位置并不固定,也就是说,总是在用户输入字符的地方出现,给人的感觉就是用户只要一输入字符,在光标处的下方就会出现这个选择控件.(也就是说,这个选择控件的位置总是在当前文本框的下方出现)
3.用户只要做了最终的选择,这个选择控件就会消失的.请问这个选择控件是如何实现的呢?需要用到哪些标准控件组合成.

解决方案 »

  1.   

    LIST+TEXT控件,使用TEXTCHANGE事件
      

  2.   

    select * from 表名 where 字段名 like '%" & 输入的内容 & "%'
      

  3.   


    在程序中添加一个list控件,
    设置为不可见,
    在文本框的change事件中写代码,若查找到项目则向list中添另相应查找到的项目,并设置list的top及left属性使之显示在文本框的下面,设置visible属性为true.
     
    list 的click事件中写代码,取所选项目,list.visible=false
      

  4.   

    把list控件的显示与填充放在text的输入事件里面来控制
      

  5.   

    使用模糊查询+TextBox控件+ListBox控件
    Sql语句:Select * From TB Where FD_Name Like '青%'    '这个语句可以查询到所有第一个字符是青的药品,
    你再将查询得到的记录集填写入ListBox中即可。
      

  6.   

    控件处理的重点是:1. Control.Enable = False / True
    2. Control.Visible = False / True
    3. Z-Order要在最上面如果Enable = True, Tab和快捷键事件它还是可以接受的。
      

  7.   

    我在lostfocus事件中,设置列表框 visible=false,这样当用户单击窗体上别的控件时,列表框会隐藏,但是单击窗体却无法实现列表框的隐藏,
    这是因为单击窗体,并不能让文本框失去焦点,我如何处理这个问题呢?
    用户单击一下窗体,是应该让列表框隐藏的呀.
      

  8.   

    在text的Validate事件和窗体的click事件中加上 
    List1.Visible = False