Ho semplificato il discorso.
Nel form ho 5 TextBox e 1 ListBox. La ListBox contiene 20 oggetti qualsiasi (o nomi, … come preferite).
Devo spostare tramite DragDrop gli oggetti della ListBox in una delle TextBox fino ad occupare tutte le TextBox con oggetti o nomi differenti.
Uno dei problemi è che non so come distinguere su quale TextBox sto incollando.
Naturalmente tutte le TextBox e la ListBox hanno la proprietà AllowDrop = True.
Non mi funziona!!! Chi mi aiuta?
Questo è il codice :
Public Class frmSelezioneOggetti
Private Sub ListBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove, TextBox2.MouseMove, TextBox3.MouseMove, TextBox4.MouseMove, TextBox5.MouseMove
' Il tasto sinistro del mouse premuto su un item della ListBox1 e spostato su una delle textbox memorizza il suo testo e lo prepara per essere copiato nell’oggetto destinatario:
If e.Button = Windows.Forms.MouseButtons.Left Then
sender.DoDragDrop(sender.Text, DragDropEffects.Copy)
End If
End Sub
Private Sub textBox_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter, TextBox2.DragEnter, TextBox3.DragEnter, TextBox4.DragEnter, TextBox1.DragEnter
' Il puntatore del mouse entra nell'area di uno dei TextBox destinatario del trascinamento. Il programma controlla se il contenuto è idoneo a essere copiato nel TextBox e in caso affermativo cambia il cursore del mouse:
If e.Data.GetDataPresent(DataFormats.Text) Then
' Visualizza il cursore della copia:
e.Effect = DragDropEffects.Copy
End If
End Sub
Private Sub TextBox_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop, TextBox2.DragDrop, TextBox3.DragDrop, TextBox4.DragDrop, TextBox5.DragDrop
' Al rilascio del pulsante del mouse, incolla il testo nel TextBox:
TextBox1.Text = e.Data.GetData(DataFormats.Text)
End Sub
End Class