OpenFileDialog con ListBox, perdo informazione su directoryname della ...

lunedì 02 novembre 2015 - 18.56
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

joeputrisino Profilo | Junior Member

Salve a tutti, Sto utilizzando per la prima volta una listbox e ho un problema con OpenFileDialog. Nel senso se uso FolderBrowserDialog con il seguente codice riempo la Listbox

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Funziona perfettamente e quando vado a rinominare i files sul disco, tengo la loro origine del percorso dentro alla ListBox stesso con Me.ListBox.SelectedItems(I).directoryname

Quando invece utilizzo la OpenFileDialog procedo nel seguente modo per inserire nella ListBox:

If Me.OpenFileDialog.SafeFileName <> "" Or Me.OpenFileDialog.SafeFileName <> Nothing Then For x = 0 To Me.OpenFileDialog.FileNames.Count - 1 Dim fi As FileInfo = New FileInfo(Me.OpenFileDialog.FileNames(x)) Me.ListBox.Items.Add(fi) Next End If
Sapete se è possibile, inserire solo il nome del file come quando si usa il FolderBrowserDialog? Ho provato ad usare Me.ListBox.Items.Add(fi.Name), mette solo il nome ma poi perdo la proprietà Me.ListBox.SelectedItems(I).directoryname che risulta vuota. Solo sapere se si poteva fare oppure la tengo con il percorso + il nome file e poi me li recupero splittandoli. Grazie

ysdemarc Profilo | Expert

Quando inserisci un oggetto in un listbox, combobox ecc... quello che visualizzi come elemnto è l'override di ToString()
Quindi o ti fai un oggetto che incorpora FileInfo ed ha come ToString() solo il nome del file (brutto) oppure estendi FileInfo e crei un oggetto ocn il metodo toString ridefinito (più elegante).
Vincenzo
Programmatore sbilenco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5