如何在文本文件中保存列表框项?

时间:2013-09-30 16:09:24

标签: c# listbox

我正在尝试将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

2 个答案:

答案 0 :(得分: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());
                         }
                    }
                }

答案 1 :(得分:0)

正如@davidsbro所提到的,您希望aa位于st.Writeline中,因为它是实际的字符串。 listBox1.Items给出了一个Writel无法处理的类,因为它不知道你想从Items得到什么。所以它输出的名称就是你得到的结果。如果您需要有关该Items类的所有属性和其他信息,则必须将其序列化并写入该文件。