Salvare contenuto listbox in file di testo [c#]

martedì 03 novembre 2009 - 11.07

marco7 Profilo | Newbie

Buongiorno a tutti!

Mi chiamo Marco e sono nuovo sia del forum che di C# come presto capirete dalla domanda che sto per farvi.

Allora io sto creando una mia piccola applicazione in cui ho dei dati in una listbox e questi dati li voglio salvare in file di testo. Per fare ciò ho scritto questo codice:

saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true; saveFileDialog1.ShowDialog(); string nomeFile = this.saveFileDialog1.FileName; StreamWriter sw = new StreamWriter(nomeFile, false); { for (int i = 0; i <= listBox2.Items.Count - 1; i++) { sw.WriteLine(listBox2.Items.ToString()); } sw.Close();

Faccio partire la mia applicazione, salvo i dati e poi quando vado ad aprire il mio file di testo trovo questo:

System.Windows.Forms.ListBox+ObjectCollection

Ho cercato un pò su Google e sul vostro forum ma la soluzione che mi serve non l'ho trovata...

Grazie per l'attenzione

AntCiar Profilo | Expert

Ciao.

Sicuramente la tua listBox l'hai popolata mediante datasource:

listbox1.datasource = .......
listbox1.DisplayMember = ......
listbox1.ValueMember = ......

Quando scorri gli gli "Items" ti vengono restituiti degli oggetti di tipo DataRowView. Basta accedere al campo specifico ed il gioco è fatto.
Comunque ti ho allegato un progettino di esempio in C# così ti è più chiara la cosa.

Ciao Ciao

Cristian Barca

marco7 Profilo | Newbie

Ti ringrazio! Il tuo esempio mi è stato illuminante per trovare l'errore che facevo.

Io scrivevo questo: sw.WriteLine(listBox2.Items(i).ToString());

(i) <-- non me lo accettava e quindi lo toglievo e di conseguenza mi dava l'errore che dicevo... ero abituato a scrivere gli array tra parentesi tonde e non quadre e quando ho visto il tuo esempio:

wrf.WriteLine(((DataRowView)this.listBox1.Items[i])["ID"].ToString());

mi sono accorto dell'errore. Ti ringrazio!

Buona giornata! CiaoCiao!
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5