C# windows 在列表框中形成双倍的文件名

问题描述

我是这样制作的:

 private void button4_Click(object sender,EventArgs e)
        {
            {
                DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\Administrator\source\repos\Generator\Generator\bin\Debug\net5.0-windows");
                FileInfo[] Files = dinfo.GetFiles("*.txt");
                foreach (FileInfo file in Files)
                {
                   listBox1.Items.Add(file.Name);
                }


            }
        }

当我单击 button4 时,显示 listBox1 中文件夹中的所有 .txt。但是当我在文件夹中添加一个 .txt 并再次单击时,名称是双倍的。如何使 1 个文件名 = 1 个位置?

对不起我的英语。

解决方法

您应该在重新添加文件名之前清除列表框。

private void button4_Click(object sender,EventArgs e)
{
    DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\Administrator\source\repos\Generator\Generator\bin\Debug\net5.0-windows");
    FileInfo[] Files = dinfo.GetFiles("*.txt");

    // Clear all previous items from the listbox
    listBox1.Items.Clear();

    foreach (FileInfo file in Files)
    {
       listBox1.Items.Add(file.Name);
    }
}