[英]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_Click
或Form_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.