2013-09-30 4 views
0

Я пытаюсь сохранить элементы ListBox в текстовом файле. пунктов, которые я добавил из свойств:Как сохранить элементы списка в текстовом файле?

Мой код:

private void button1_Click(object sender, EventArgs e) 
     { 
      if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
      { 
       using (FileStream S = File.Open(saveFileDialog1.FileName, FileMode.CreateNew)) 
        using (StreamWriter st = new StreamWriter(S)) 
         foreach (string aa in listBox1.Items) 
          st.WriteLine(listBox1.Items); 
      } 
     } 

Вывод в текстовом файле: System.Windows.Forms.ListBox + ObjectCollection

+3

Измените 'st.Writeline (listBox1.Items);' на 'st.Writeline (aa);' так как вы хотите, чтобы отдельные элементы записывались в файл. – davidsbro

+0

не заметил это. благодаря :)))) – AYETY

ответ

0

Как @davidsbro упоминалось, вы хотите aa быть в st.Writeline, что и является АСП al string. listBox1.Items дает класс, который Writeline не может обрабатывать, поскольку он не знает, чего вы хотите от Items. Таким образом, он выводит имя, которое является результатом, который вы получили. Если вам нужны все свойства и другая информация об этом классе Items, вам придется сериализовать его и записать в файл.

0

Просто используйте aa в WriteLine

   if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
       { 
        using (FileStream S = File.Open(saveFileDialog1.FileName, FileMode.CreateNew)) 
        { 
         using (StreamWriter st = new StreamWriter(S)) 
         { 
          foreach (var aa in listBox1.Items) 
           st.WriteLine(aa.ToString()); 
         } 
        } 
       } 
Смежные вопросы