我有自定义UserControl。我想在几个不同的产品中使用它,所以我想要一些可以在UserControl本身内部实现的东西。我想知道用户何时在UserControl的边界外单击以便我可以隐藏它,类似于ComboBox。我怎么能这样做?
我尝试过处理点击事件,但是如果点击发生在控件的范围内,它似乎只会触发。
答案 0 :(得分:3)
这就是Capture属性的目的。将其设置为true并将所有鼠标消息路由到您的控件,即使它移出窗口边界。检查MouseDown事件中的e.Location属性。
答案 1 :(得分:1)
嗯,您可以通过收听GotFocus / LostFocus事件来完成您想要的任务。组合框在它们失去焦点时打开和关闭时会给出下拉焦点。
答案 2 :(得分:-1)
执行此操作
<强>代码:强>
if (!sender.Equals(yourControl))
{
yourControl.Visible=false;
}