使用焦点事件:
在ComboBox失去焦点时触发。

解决方案 »

  1.   

    有两个做法,楼主参考一下:
    1:使用一个窗体form来做这个下拉的列表,Form在显示的时候需有焦点,可以在这个窗体的DeActive事件里关闭窗体。2:同样使用Form,但需无焦点显示窗体,这个可能更合使用习惯,在输入上不会影响到“ComboBox”的输入框。它的关闭需要处理Application一级的消息。
    1)当所控件所在的窗体失去焦点的时候(同样是Deactive事件)关闭打开的无焦点下拉窗体。
    2)显示无焦点窗体的时候同时向Application添加消息过滤器:Application.AddMessageFilter 方法,在关闭窗体后要使用Application.RemoveMessageFilter 方法注销过滤器,在消息过虑器里处理所在窗体失去焦点事件及鼠标的点击消息,因为这两类消息发生时需关闭下拉出的列表窗体。祝楼主成功!