是否有任何方法檢查拖放是否正在進行?可以檢查一些方法或win32 api?我知道我可以設置AllowDrop並使用事件,但在這種情況下它不起作用。基本上我想檢查,用代碼,如果任何阻止&下降正在進行中。檢查拖放是否正在進行中
2
A
回答
0
GetCapture API function可能是一個好的開始。基本上,當拖動操作開始時,源窗口「捕捉」鼠標,這意味着即使鼠標離開窗口,它仍然會接收所有的鼠標事件。
但是,應用程序也可以捕獲鼠標出於其他原因,所以這不是100%可靠。你可以嘗試一下,看看它對你有多好。並且,通過應用程序自行拖放處理,無論如何都無法確定發生了什麼。
-1
假設它只在您自己的代碼的上下文中,您可以識別代碼中發生拖放的所有位置,並在操作期間將全局布爾標誌設置爲true,然後返回false完成後。
所以接下來的問題是,如何在應用程序中啓動拖放操作?
2
我有一個類似的問題,我自己回答(經過幾個小時的討論),請參閱 - How do I tell if a Drag Drop has ended in Winforms?。
基本上,如果你這樣做earwicker建議你需要設置標誌,當拖放開始附近的DoDragDrop調用。如果QueryContinueDragEventArgs指示放置或取消,則需要在DragDrop事件和QueryContinueDrag中取消設置標誌。
0
怎麼樣QueryContinueDrag事件處理程序http://msdn.microsoft.com/en-us/library/system.windows.forms.control.querycontinuedrag.aspx? 您可以將處理程序掛接到任何控件,並檢查是否存在正在進行的拖放操作,然後如果需要取消操作。
哎呀,對不起,我剛剛看到那個在我之前已經提到過的那個人。我不好。
相關問題
- 1. 檢查進程是否正在運行
- 2. 檢查進程是否正在運行(使用進程名稱)
- 3. 如何檢查Linux中是否正在運行進程?
- 4. 檢查服務是否正在運行?
- 5. 檢查程序是否正在運行
- 6. Bash腳本檢查進程是否正在運行
- 7. 如何檢查Hadoop守護進程是否正在運行?
- 8. 檢查守護進程是否正在運行
- 9. Python檢查當前進程是否正在運行?
- 10. 如何檢查鼠標輸入事件是否正在進行?
- 11. 如何檢查進程是否正在運行 - Linux
- 12. PHP檢查進程是否正在運行(Linux)
- 13. 檢查進程是否正在運行,如果不啓動它
- 14. C#:檢查進程是否正在運行問題
- 15. 是否可以檢查拖放操作(java中)的源/目標是否相同?
- 16. 如何檢查正在運行的進程是否是後臺進程?
- 17. 如何檢查是否正在拖動WPF窗口
- 18. 檢查一個進程是否正在Python中運行(在Linux/Unix中)
- 19. 在Delphi中進行設計時拖放?
- 20. 在WPF DataGrid中拖放進行分組
- 21. AngularJS拖放檢查項目是否有一個類
- 22. 正在使用GetProcessesByName檢查進程是否正在運行的最佳方法?
- 23. jQuery拖放檢查問題
- 24. 是否可以在java中進行「原子」中斷檢查?
- 25. 檢查進程是否正在運行linux shell不能正常工作
- 26. 檢查一個命令是否正在多用戶進程中運行php
- 27. 是否可以在Android瀏覽器中進行HTML5拖放操作?
- 28. 使用QWindow進行拖放
- 29. 使用RXjs進行拖放
- 30. 無法進行拖放
這永遠不會是一個首選的方法。不得不在整個應用程序中跟蹤各個點的狀態將成爲維護的噩夢。 – 2015-06-17 13:26:08