将 ListBox 项保存到文件

Posted

技术标签:

【中文标题】将 ListBox 项保存到文件【英文标题】:Save ListBox items to file 【发布时间】:2017-09-29 14:10:09 【问题描述】:

我正在尝试创建一个文件,将所有列表框项添加到该文件中。所以我可以稍后打开文件并再次显示所有列表框项目。

我当前的代码不起作用,它不会创建文件或保存到现有文件。

函数获取创建的文件名/路径

private void mnuFileSaveAs_Click(object sender, EventArgs e)
    
        string fileName = "";
        SaveFileDialog sfd = new SaveFileDialog();
        if (sfd.ShowDialog() == DialogResult.OK)
        
            if(fileName == String.Empty)
            
                mnuFileSaveAs_Click(sender, e);
            
            else
            
                fileName = sfd.FileName;
                writeToFile(fileName);
            

        

    

写入文件的函数

private void writeToFile(string fileName)
        
            System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(fileName);
            foreach (var item in listBox.Items)
            
                SaveFile.WriteLine(item.ToString());
            
        

【问题讨论】:

你的问题是......? 哦,我没有指定它,好吧它不起作用。 为什么重复问题?这里的问题到底是什么? 它不起作用?然后我认为你需要做这做那并做出这些改变以使其发挥作用。 什么不起作用?你看到错误了吗?文件是否缺少数据?文件根本没有创建吗? 【参考方案1】:

嗯,你没有指定错误,但我猜它不起作用,因为你没有关闭 StreamWriter。

using (System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(fileName))

    foreach (var item in listBox.Items)
        SaveFile.WriteLine(item.ToString());

或者你可以直接拨打SaveFile.Close()而不是using

【讨论】:

以上是关于将 ListBox 项保存到文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在列表中编写 ListBox 项? [关闭]

如何将ListBox项绑定到用户控件上?

VB.NET 如何将ListBox列表框的所有项复制到一个数组中,便于排序?谢谢解答

将 ListBox 复制到剪贴板,返回载体未保存

如何在 ListBox 项实例之间共享资源?

在C#如何实现从左边的listbox控件的内容移到右边的listbox控件