我得到Panel
並在其中有一些自定義控件的拖放操作,當拖動開始時,我做了panel.Capture = True;
讓面板觸發正確的事件,即使用戶在鼠標外部釋放鼠標左鍵(例如:panel_DragDrop
),但DragDrop
事件不會被觸發,除非在光標位於面板範圍內時釋放鼠標左鍵。拖放鼠標捕獲
我以爲panel.Capture
會解決這個問題,但它沒有任何效果。任何想法我在這裏想念什麼?
編輯:好吧我想我知道我現在要做什麼。我想我對DragDrop事件有一個誤解。我的應用程序中只有拖動面板內的控件(將其視爲移動塊),而當用戶拖動塊並超出界限時,我會自動滾動,如果光標離開面板,則panel_DragDrop
永遠不會被調用,如果鼠標被釋放,塊的放置不會發生。我認爲我的解決方案是這樣的: Cursor.Clip = panelDiagram.RectangleToScreen(panelDiagram.ClientRectangle);
這將使光標在拖動時綁定到面板邊界,所以沒有辦法讓光標離開邊界。
對不起任何麻煩
對不起,但我不能做任何事情從你的例子。作爲一個孩子嘗試使用'Button'作爲'Panel'。在按鈕上啓用D&D,啓用面板上的捕獲並將面板上的按鈕拖出,panel1_DragDrop事件是否會觸發?這是我想要實現的。 – prettyvoid 2013-03-05 20:11:58
請閱讀第一篇文章中的修改內容。 – prettyvoid 2013-03-05 20:39:00