问题描述
自做的combobox,怎么使在combobox区域外(窗体其他地方),点的时候listbox收起来.
解决方案
解决方案二:
使用焦点事件:在ComboBox失去焦点时触发。
解决方案三:
楼上的正解,相当的方便
解决方案四:
有两个做法,楼主参考一下:1:使用一个窗体form来做这个下拉的列表,Form在显示的时候需有焦点,可以在这个窗体的DeActive事件里关闭窗体。2:同样使用Form,但需无焦点显示窗体,这个可能更合使用习惯,在输入上不会影响到“ComboBox”的输入框。它的关闭需要处理Application一级的消息。1)当所控件所在的窗体失去焦点的时候(同样是Deactive事件)关闭打开的无焦点下拉窗体。2)显示无焦点窗体的时候同时向Application添加消息过滤器:Application.AddMessageFilter方法,在关闭窗体后要使用Application.RemoveMessageFilter方法注销过滤器,在消息过虑器里处理所在窗体失去焦点事件及鼠标的点击消息,因为这两类消息发生时需关闭下拉出的列表窗体。祝楼主成功!
时间: 2024-09-14 13:57:48