Ciao a tutti, qualcuno può darmi una mano please ?
Su un form ho 7 PictureBox che caricano la stessa immagine. Tali immagini devono poter essere spostate su uno qualsiasi dei 7 Panel che uso come contenitori. Ho provato con il seguente codice, ma anche se VB non restituisce alcun errore, le pictureBox rimangono al loro posto, cioè non si muovono e nei Panel non appare alcuna immagine. Cosa c’è di sbagliato ?
Un’ultima cosa: per permettere il trascinamento di una PBox qualsiasi sugli altri panel è sufficiente che ripeta il codice Panel_DragEnter e Panel_DragDrop per i restanti panel ?
Grazie ciao
codice:
Public Class Form1
Private pcb() As PictureBox
Private ix As Integer = 0
Private Sub PictureBox_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox3.MouseDown, PictureBox4.MouseDown, PictureBox5.MouseDown, PictureBox6.MouseDown, PictureBox7.MouseDown
sender.DoDragDrop(sender.Image, DragDropEffects.Move)
End Sub
Private Sub Panel2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Panel2.DragEnter
e.Effect = DragDropEffects.Move
End Sub
Private Sub Panel2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Panel2.DragDrop
ReDim Preserve pcb(indice)
pcb(ix) = New PictureBox
pcb(ix).Name = "img" & indice.ToString
pcb(ix).Location = PointToClient(MousePosition)
pcb(ix).Image = e.Data.GetData(DataFormats.Bitmap)
Me.Panel2.Controls.Add(pcb(ix))
End Sub