Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di calas
    Registrato dal
    Jul 2008
    Messaggi
    23

    VB2008 Form che accetti il drag and Drop

    Salve ragazzi ho un problema che non riesco a risolvere.

    Vorrei un semplice form che accetti il dragDrop
    di uno o più file e poi me le copi o me li sposti in determinate posizioni

    tutto quello che sono riuscito a fare è questo

    Private Sub Form1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop

    If e.Data.GetDataPresent(DataFormats.FileDrop) Then
    Dim files As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
    Try
    my.computer.filesyste.copyfile(files(0),percorso file)
    tch ex As Exception
    MessageBox.Show(ex.Message)
    Return
    End Try
    End If





    Private Sub Form1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter

    e.Data.GetDataPresent(DataFormats.FileDrop)
    e.Effect = DragDropEffects.All



    End Sub




    I problemi sono un paio

    1 - e che non riesco a gestire bene la copia del file visto che in questo modo ho il percorso del file di origine ma devo dare manualmente il percorso di destinazione INDICANDO ANCHE IL NOME E L'ESTENSIONE DEL FILE mente a me piacerebbe riuscire a ricavare dal dragDrop anche il nome e l'estensione del file.

    2 - non riesco a gestire l'arry per la copia di più file perchè se uso una formula del tipo:

    my.computer.filesyste.copyfile(files(0),percorso file)
    my.computer.filesyste.copyfile(files(1),percorso file)
    my.computer.filesyste.copyfile(files(2),percorso file)
    my.computer.filesyste.copyfile(files(3),percorso file)

    e droppo solo 2 files allora mi da errore per gli ultimi 2 che ovviamente rimangono vuoti

    ho provato:

    if files(3) = ""
    if files(3) is nothing
    if files(3) = false

    ma nulla. Qualcuno di buon cuore che mi spiega come fare?

  2. #2
    Utente di HTML.it L'avatar di calas
    Registrato dal
    Jul 2008
    Messaggi
    23
    up

  3. #3
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    per la 2 essendo un array basta che controlli la sua proprietà "Lenght", la cosa migliore è che tu faccia un ciclo sull'array

    per la 1 non si è capito cosa intendi..hai il percorso con il nome del file "droppato", in che modo vorresti percorso e nome file di destinazione??

  4. #4
    Utente di HTML.it L'avatar di calas
    Registrato dal
    Jul 2008
    Messaggi
    23
    grazie per la risposta!

    Cerco di spiegare meglio il primo punto.

    la difficoltà l'ho già descritta ...quello che vorrei riuscire a fare è che il programma rilevasse il nome e l'estensione del file senza che io lo debba mettere ogni volta.

    Quindi quando trascino uno o più files sul form mi piacerebbe che l'applicazione mi chiedesse solo il percorso dove deve copiare o spostare i files senza bisogno di indicare nome ed estensione

  5. #5
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    bè ma se hai il file d'origine basta che usi la classe FileInfo per recuperare il nome file no?

    codice:
    FileInfo info = new FileInfo(pathDelFileDraggato);
    
    string nuovofile = info.Name;

  6. #6
    Utente di HTML.it L'avatar di calas
    Registrato dal
    Jul 2008
    Messaggi
    23
    ti sembrerà stupido ma ci avevo già provato ma non funzionava quindi ho pensato che ci fosse un altro modo che non conoscevo...
    ora ci ho riprovato e funziona!
    Mi sa che la devo finire di programmare alle 4 di notte!!!!

    Grazie mille!!!!

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.