繁体   English   中英

用目录中的文件名填充Combo / ListBox

[英]Filling Combo/ListBox with file names from a directory

我正在尝试使用目录中的文件名填充ListBox 我的代码有效,但是,当我重新编译程序时,项目不再存在。 此外,当我点击的项目ListBox的内容ListBox被复制一遍又一遍。 任何指导将不胜感激,谢谢。

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    DirectoryInfo dir = new DirectoryInfo(".\\Notes\\");
    FileInfo[] files = dir.GetFiles("*.txt");
    foreach ( FileInfo file in files )
    {
        listBox1.Items.Add(file);
    }
}

您在错误的事件中填充了ListBox 因此,每次选择一个项目时,都会再次填充ListBox 您应该将其放在另一个事件中,例如Button_ClickForm_load

private void Form1_Load(object sender, EventArgs e)
{
    DirectoryInfo dir = new DirectoryInfo(".\\Notes\\");
    FileInfo[] files = dir.GetFiles("*.txt");
    foreach ( FileInfo file in files )
    {
        listBox1.Items.Add(file);
    }
}

//Or in a Button_Click event
private void button1_Click(object sender, EventArgs e)
{
    DirectoryInfo dir = new DirectoryInfo(".\\Notes\\");
    ....
}

因此,感谢@ S.Akbari的建议,以下是我的解决方案。

      public Form1()
    {
        InitializeComponent();
             DirectoryInfo dir = new DirectoryInfo(".\\Notes\\");
        FileInfo[] files = dir.GetFiles("*.txt");
        foreach (FileInfo file in files)
        {
            listBox1.Items.Add(file);
        }

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM