首页 > 解决方案 > 删除列表视图中的文本文件行但不保存 c#

问题描述

我有一个ListView加载一个带有一些电话号码的 .txt 文件,当我单击删除按钮时,它将从ListView中删除选定的行。当我单击要删除的按钮时,该按钮会删除该行,但不会将文件与更新的列表一起保存。如果被问到,我会提供更多信息。

谢谢!!

这是删除按钮

 public void Deletar_lista()
        {
            var caminho = Directory.GetCurrentDirectory();
            caminho += "\\telefones.txt";

            listView1.Items.RemoveAt(listView1.SelectedIndices[0]);

        }

标签: c#visual-studio-2017

解决方案


我这里只有一点代码可以继续,但您似乎只是从 ListView 中删除该项目。您的应用程序不会自动知道您希望它将 ListView 的更新内容保存到文件中。

为此,请尝试以下操作:

string[] lines = System.IO.File.ReadAllLines(caminho);

using (System.IO.StreamWriter writer = new System.IO.StreamWriter(caminho))
{
    foreach (string line in lines)
    {
        if (!line.Contains(listView1.SelectedIndices[0].ToString()))
        {
            writer.WriteLine(line);
        }
    }
}

这将从文件中读取所有行,如果所选行等于您删除的条目,则不会将其写入文件。


推荐阅读