我有一個控件,我希望用戶可以選擇點擊它,或拖動它。像Windows資源管理器中的文件。如何爲同一控件實現點擊和拖動?
我知道如何拖動。我不知道一個簡單的方法來點擊'火',因爲開始拖動mousedown會阻止它。
有沒有簡單的方法來做到這一點?
謝謝。
我有一個控件,我希望用戶可以選擇點擊它,或拖動它。像Windows資源管理器中的文件。如何爲同一控件實現點擊和拖動?
我知道如何拖動。我不知道一個簡單的方法來點擊'火',因爲開始拖動mousedown會阻止它。
有沒有簡單的方法來做到這一點?
謝謝。
我會建議你實現某種類型的出現,這將允許他們抓住並移動控件可見拖動手柄。也許如果他們把鼠標懸停在200毫秒以上或類似的東西上。
你應該搜索關於如何拖動和移動控件的例子,我實際上是在Delphi looong之前(大約11年前)完成的,它全部是關於鼠標座標和標誌設置在mouseDown和mouseUp上的。
我發現這裏的東西:http://www.codeproject.com/KB/dialog/MoveYourControls.aspx可能是該解決方案的靈感源泉在.NET
我知道如何拖動。我不知道一個簡單的方法來點擊'火',因爲開始拖動mousedown會阻止它。 – ispiro
我從來沒有做過,但你能...
對於點擊,當鼠標按下事件觸發,得到控制的當前位置。然後在mouseup上檢查當前位置是否與mousedown的位置相同。如果他們是平等的(或接近爲意外移動提供一定的容忍度),那麼它就是一個點擊。如果差異很大,那就是一種拖累,你可以爲此做任何你需要做的事情。
我知道如何拖動。我不知道一個簡單的方法來點擊'火',因爲開始拖動mousedown會阻止它。 – ispiro
@ispiro:我不清楚。在200ms後,顯示一個拖動手柄(一個完全不同的控制)。拖動手柄mousedown是應該照顧拖動操作。經常保持控制單獨使用。 – NotMe
謝謝。我會考慮這個選項。 – ispiro