2017-07-25 122 views
-2

我在winforms c#中構建一個拖放應用程序,我需要拖動一個usercontrol並將其拖放到一個flowlayout。 一切工作正常,除了放置位置,流程面板並排放置掉物品。 我該如何設置被刪除的項目到確切的光標位置?在winforms中將usercontrol拖放到flowlayoutpanel

+1

如果你不想使用流佈局,請不要使用流佈局面板 – Luke

回答

1

我會將我的評論延伸至答案。

這個問題不是基於drag'n'drop。問題基於語義層面。使用flowlayoutpanel來自動排列它的內容。

參見MSDN FlowLayoutPanel Control Overview

的FlowLayoutPanel的控制佈置在水平或垂直 流動方向其內容。您可以將控件的內容從一行 換到下一行,或從一列到下一列。或者,您可以使用 剪輯而不是包裝其內容。

所以flowlayoutpanel-控制完全是它應該做的。如果您想根據要使用正常面板的座標爲放置的控件提供特定的位置。普通面板不會自動排列其內容。

+0

甚至不需要'Panel',Form'本身就可以使用 –

+0

@我認爲FormClass本身已經包含了一個主面板其控制。爲你的控件使用額外的面板可以幫助你組織你的表單。但你是對的,使用面板是可選的。 – Luke

+0

感謝盧克,是的,我切換到面板控制,並使用'myusercontrol.Location = panel1DropZone.PointToClient(x,y)'來獲得座標,但這次被放棄的項目不會在鼠標所在的地方被精確地放棄。你有什麼想法,爲什麼? –