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

Rispondi quotando