24/11/08 19:25
sergio58
Di nuovo salve a tutti,dopo aver ricopiato il codice per il DragDrop (in un sito a caso), l'ho modificato per adattarlo ad una Listview.Il problema è che dopo aver selezionato la riga da inserire nel TextBox,in caso di riga non valida, tutti gli elementi della listview vengono selezionati.
Questo è il codice:
il codice che riguarda le caselle di testo
Questo è il codice:
Private Sub lstPdeiC_Cee_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lstPdeiC_Cee.MouseDown Dim I As Integer Dim intElementoSelezionato As Integer If lstPdeiC_Cee.Items.Count = 0 Then Exit Sub 'la lista è vuota End If For I = 0 To lstPdeiC_Cee.Items.Count - 1 If lstPdeiC_Cee.Items(I).Selected = True Then intElementoSelezionato = I mintRecord = CInt(lstPdeiC_Cee.Items(I).SubItems(2).Text) If mintRecord = 0 Then MessageBox.Show("Non è stato selezionato un conto", "CONTO NON VALIDO", MessageBoxButtons.OK, MessageBoxIcon.Information) lstPdeiC_Cee.Items(I).Selected = False Exit Sub End If Exit For End If Next lstPdeiC_Cee.DoDragDrop(lstPdeiC_Cee.Items(intElementoSelezionato).Text, DragDropEffects.Copy)
il codice che riguarda le caselle di testo
Private Sub txtCeeAvere_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles txtCeeAvere.DragDrop 'Ottiene i dati di tipo string presenti in memoria Dim S As String = e.Data.GetData(GetType(String)) 'Imposta il testo della seconda textbox uguale a quello della prima txtCeeAvere.Text = S txtCeeAvere.Tag = mintRecord End Sub
Private Sub txtCeeAvere_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles txtCeeAvere.DragEnter If e.Data.GetDataPresent(GetType(String)) Then 'Continua a copiare e.Effect = DragDropEffects.Copy Else 'Altrimenti annulla l'azione e.Effect = DragDropEffects.None End If End Sub Grazie a tutti in naticipo
aaa