[英]How to tell when the user has clicked outside of the bounds your control?
我有一個自定義UserControl。 我想在幾個不同的產品中使用它,所以我想要一些可以在UserControl本身內部實現的東西。 我想知道用戶何時在UserControl的邊界外單擊以便我可以隱藏它,類似於ComboBox。 我怎樣才能做到這一點?
我嘗試處理click事件,但是如果點擊發生在控件的范圍內,它似乎只會觸發。
這就是Capture屬性的目的。 將其設置為true並將所有鼠標消息路由到您的控件,即使它移出窗口邊界。 檢查MouseDown事件中的e.Location屬性。
嗯,你可以通過聽GotFocus / LostFocus事件來完成你想要的。 組合框在它們失去焦點時打開和關閉它們時會給出下拉焦點。
做這個
碼:
if (!sender.Equals(yourControl))
{
yourControl.Visible=false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.