.net 将picturebox从一个面板移到另一个面板

.net 将picturebox从一个面板移到另一个面板,.net,vb.net,.net,Vb.net,我正在尝试将一个picturebox从一个面板移到windows窗体上,然后移到另一个面板上 我可以通过操纵.left和.top使picturebox移动,但是当它到达面板顶部时,picturebox就消失在板中。我如何才能顺利离开面板,进入主窗体,然后进入面板2?我遇到了这个问题,我有一个解决方案。代码如下: Panel2.Controls.Add(Picturebox) 'This "Picks Up" the Picturebox from Panel1 and drops it on P

我正在尝试将一个picturebox从一个面板移到windows窗体上,然后移到另一个面板上


我可以通过操纵.left和.top使picturebox移动,但是当它到达面板顶部时,picturebox就消失在板中。我如何才能顺利离开面板,进入主窗体,然后进入面板2?

我遇到了这个问题,我有一个解决方案。代码如下:

Panel2.Controls.Add(Picturebox) 'This "Picks Up" the Picturebox from Panel1 and drops it on Panel2
此外,如果您有多个picturebox,只需执行以下操作:

For Each pctrbox in Panel1.Controls
    Panel2.Controls.Add(pctrbox)
Next

首先将其从面板中删除,并将其位置转换为窗体。然后把它滑到应该去的地方。谢谢约翰,我没意识到@巴罗-谢谢你的帮助。所以面板是12467我做了这个-`playerPanel.Controls.Remove(cardPB)Me.Controls.Add(cardPB)cardPB.Left=startX+12 cardPB.Top=startY+467`我对添加/删除控件很陌生,这似乎不起作用。我理解您的解决方案,但实现它是另一回事。控件的父属性需要更改。这并不是一件顺利的事,你会有很多麻烦与面板重叠和剪辑的picturebox。一定要避免尝试实现一个看起来像VisualStudio的用户界面,它并不简单,在实际程序中很少适用。“将某物从A移到B”的用户界面是拖放。谢谢@HansPassant。我正在使用拖放选择picturebox,我可以立即将其移动到第二个面板。我想让picturebox滑到另一个面板上,动画化,而不是“传送”。有没有一种“简单”的方法可以做到这一点?不,这并不容易。去掉面板,用窗体的Paint事件处理程序中的Graphics.FillRectangle()替换它们。现在很简单,无需更改父项。