Oppure

Loading
10/08/09 10:07
Master_VB
ciao a tutti dovete risolvermi un quesito in pratica ho una listbox dove listo un elenco di file e poi ho un tasto io vorrei far in modo che con quel tasto elimini l'elemento selezionato dall'utente ma non so come far "capire" quale elemento nella listbox è selezionato come faccio?
aaa
10/08/09 11:28
VB.NET_Program_91
Ecco ti posto subito il codice:

  ' controlla se è selezionato un item
  If ListBox1.SelectedIndex >= 0 Then
  ' se è selezionato lo cancella
            ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
        End If


Per chiarimenti posta pure :)
aaa
10/08/09 12:17
Master_VB
susa mi sono spiegato male nella listbox elenco delel directory se io premo quel tasto deve cancellarlo ovviamente dalla listbox ma deve ancellare anche il file della directory
aaa
10/08/09 14:10
VB.NET_Program_91
Allora puoi provare in questo modo:
Prima dichiari la variabile che rappresenta la cartella in cui sono contenuti i files:
Private CurrentDir As String = "cartella"


Poi importi il contenuto di una cartella nel ListBox in questo modo:
'Al forma_load inserisci:
 For Each File As String In IO.Directory.GetFiles(CurrentDir)                    
    ListBox2.Items.Add(IO.Path.GetFileName(File))
 Next


Poi elimina il file insieme al collegamento al listbox in questo modo:
 
  if ListBox1.SelectedIndex >= 0 then
 ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) IO.File.Delete(IO.Path.Combine(CurrentDir,IO.Path.GetFileName(ListBox1.SelectedItem)))  
  end if


Il codice che ho scritto non l'ho testato quindi per qualsiasi evenienza posta pure :)
aaa
13/08/09 8:17
Master_VB
scusa mi da sempre l'errore che il listbox.selecteditem è vuoto è null perchè? eppure io lo seleziono l'elemento che voglio cancellare
aaa
13/08/09 15:27
VB.NET_Program_91
Allora Prova a rimpiazare questo frammento:
 if ListBox1.SelectedIndex >= 0 then
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) IO.file.Delete(IO.Path.Combine(CurrentDir,IO.Path.GetFileName(ListBox1.SelectedItem)))  
  end if


con:

 Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        If ListBox1.SelectedIndex >= 0 Then
            ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
            IO.File.Delete(CurrentDir & IO.Path.GetFileName(ListBox1.SelectedItem))
        End If
    End Sub


Ultima modifica effettuata da VB.NET_Program_91 13/08/09 15:27
aaa
17/08/09 8:06
Master_VB
ok hai risolto un problema però ora mi dà questo errore: Accesso al percorso 'C:\WINDOWS\System32' negato. eppure io sono amministratore! dice anche assicurarsi he la proprietà non sia readonly come posso fare?
aaa
17/08/09 9:46
Master_VB
up
aaa