簡體   English   中英

如何判斷用戶何時點擊了您的控件范圍之外?

[英]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事件來完成你想要的。 組合框在它們失去焦點時打開和關閉它們時會給出下拉焦點。

做這個

  • 選擇表單上的所有控件,包括表單
  • 在屬性窗口中選擇MouseClick事件
  • 現在在Common_MouseClick中輸入以下代碼

碼:

 if (!sender.Equals(yourControl))
  {
        yourControl.Visible=false;
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM