Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    4

    [VB.NET]Drag and Drop ListView

    Salve a tutti, avrei un problema:
    ho implementato il drag and drop su una listview ed utilizzo
    Dim MyFiles() As String
    MyFiles = e.Data.GetData(DataFormats.FileDrop)
    per controllare il numero di file che sto trascinando all'interno della mia listview però accade quanto segue:
    se trascino 3 file contemporaneamente all'interno della listview, myfile.lenght viene valorizzato correttamente a 3, se in seguito cancello 1 dei 3 file appena trascinati, e successivamente provo ad inserirlo nuovamente myfile.lenght è ancora valorizzato a 3 come se e.Data.GetData(DataFormats.FileDrop) non fosse mai stato pulito dopo il primo giro.
    Potete aiutarmi, anche fornendomi un altro metodo per contare il numero di file che trascino all'interno della listview.

    Grazie mille a tutti

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    wpf o win form?
    come hai gestito i dati di e.data?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    4
    è un winform (non wpf)
    di seguito l'evento del drag e drop
    Private Sub lstFiles_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFiles.DragDrop

    If Not e.Data.GetDataPresent(DataFormats.FileDrop) Then
    Exit Sub
    End If
    Cursor.Current = Cursors.WaitCursor

    Dim MyFiles() As String
    MyFiles = e.Data.GetData(DataFormats.FileDrop)

    If MyFiles.Length = 1 Then
    Dim doc As Documento = fnValorizzaDocumento(MyFiles(0))
    sbInserisciListItem(doc)
    Else

    Dim frm As New frmSelezionaModello
    frm.ShowDialog()

    If Not frm.selezionato Then
    Exit Sub
    End If

    For i As Integer = 0 To MyFiles.Length - 1

    Dim doc As Documento = fnValorizzaDocumento(MyFiles(i))

    doc.Modello = frm.modelloSelezionato

    Try
    archivio.Salva(doc)
    Catch ex As SqlException
    If ex.Number = 2627 Then
    MessageBox.Show("Impossibile terminare l'operazione di salvataggio." & vbCrLf & "Esiste già un documento con quel nome per il modello selezionato.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    lstFiles.SelectedItems(LastIndexFile).Selected = True
    Exit Sub
    Else
    clsErr.Gestione(ex)
    End If
    End Try

    sbInserisciListItem(doc, False)
    Next
    End If

    If lstFiles.Items.Count > 0 Then
    lstFiles.Items(0).Selected = True
    End If

    End Sub

  4. #4
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    dove hai gestito il DoDragDrop?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.