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