Oppure

Loading
08/02/10 13:12
dedalux
Salve a tutti, dovrei aggiungere una lista di files selezionati dall'utente in una listview, ed aggiungere per ognuno, nella prima colonna il nome, e nella seconda la posizione.

Fino ad aggiungere la prima colonna sono in grado, ma non riesco a capire come fare affinche, quando va ad aggiungere un item, ci aggiunga un subitem con il relativo SafeFileName (dell'OpenFileDialog).

Questo è il codice che uso ora.

    Private Sub btnAggiungiFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAggiungiFile.Click
        Using ofd As New OpenFileDialog
            With ofd
                .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyMusic
                .Multiselect = True
                .Filter = "File audio|*.mp3;*.m4a;*.AAC;*.wma;*.wav"
                .Title = "Files da aggiungere"
            End With
            If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
                For Each file As String In ofd.FileNames
                    lswPlaylist.Items.Add(file).Checked = True
                Next
            End If
        End Using
    End Sub


io vorrei che aggiungesse come subitem la posizione, ma non riesco a trovare un modo.
Pensavo ad un secondo ciclo for each che, in base all'indice, partendo dal primo degli oggetti appena aggiunge, per ognuno crea un subitem col relativo testo.
Ma non riesco nemmeno a fare quello T_T

help pls
=) grazie :D
aaa
08/02/10 13:38
dedalux
Ho risolto cosi, cmq un commento sulla correttezza del codice o su modi piu semplici mi farebbe piacere!
grazie, spero possa essere utile

Private Sub btnAggiungiFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAggiungiFile.Click
        Using ofd As New OpenFileDialog
            With ofd
                .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyMusic
                .Multiselect = True
                .Filter = "File audio|*.mp3;*.m4a;*.AAC;*.wma;*.wav"
                .Title = "Files da aggiungere"
            End With
            If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
                Dim i As Integer = lswPlaylist.Items.Count
                For Each name As String In ofd.SafeFileNames
                    lswPlaylist.Items.Add(name).Checked = True
                Next
                For Each path As String In ofd.FileNames
                    lswPlaylist.Items(i).SubItems.Add(path)
                    i += 1
                Next
            End If
        End Using
    End Sub
aaa