簡體   English   中英

如何捕獲移動的自定義控件

[英]how capture a moving customcontrol

我試圖解釋我的問題:

我在面板上有許多相同類型的customcontrols。

在運行時,我可以隨意移動任何custumcontrol(mousedown和mousemove事件),並將鼠標移到其他任何customcontrol上,都可以使用Bringtofront()將其移到所有控件上。

現在,我需要知道我要移動的控件何時在任何其他控件之上,以及哪個控件在下面。

到目前為止,我已經嘗試過使用拖放事件,但是沒有成功,還有其他方法可以做到這一點,或者我必須對拖動事件進行詳細說明嗎?

謝謝大家的幫助

對不起,我的英語。

編輯:

這些控件是紙牌游戲,我的最終目標是根據紙牌的價值和/或顏色,使用紙牌按照規則創建邏輯序列。

您無法通過拖放解決問題,因為您實際上沒有一個控件拖放到另一個控件上。 您只是在以表格形式移動它們。

您需要熟悉Z orderZ order是虛擬3D空間中對象的前后排列。 若要調整Z順序,可以調用從System.Windows.Forms.Control派生的任何對象的BringToFrontSendToBack方法。

(容器)控件的Controls集合也公開Z順序。 使用GetChildIndex方法 ,可以確定Z順序內任何控件的位置。

因此,現在您所要做的就是找出要拖動的控件位於哪個控件上。 通過比較兩個控件的Location屬性來做到這一點。 當您知道兩個控件的位置重疊時,請檢查它們各自的Z順序索引,以查看哪個位於頂部。

暫無
暫無

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

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