gpt4 book ai didi

c# - 在 ListBox 中选择一个目录并在另一个 ListBox 中显示所选目录的文件

转载 作者:太空宇宙 更新时间:2023-11-03 11:19:39 24 4
gpt4 key购买 nike

我使用以下方法将目录枚举到 ListBox 中:

private void TE_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
IEnumerable<string> file = System.IO.Directory.EnumerateDirectories(@"C:\Users\user\Desktop", "*.*", System.IO.SearchOption.AllDirectories);
foreach (var f in file)
{
lbz.Items.Add(String.Format(f));
}
}

现在,ListBox 显示给定路径中的所有目录,然后我使用:

private void lbz_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (lbz.SelectedItem != null)
{
if (Directory.Exists(lbz.SelectedItem.ToString()))
{
string[] filePaths = Directory.EnumerateFiles() //:<------
for (int i = 0; i < filePaths.Length; ++i)
{
lbz2.Items.Add(i);
}

}
else
{
tb1.Text = "Directory Doesn't Exist On This Path";
}
}
else
{
tb1.Text = "No Directory Selected";
}

}

箭头是我被难住的地方,因为我使用的是 Microsoft Visual Web Developer 我不能使用 GetFiles,我必须使用 Enumerate。

我希望能够填充另一个 ListBox (lbz2),方法是在 lbz 中选择一个目录,并在 lbz2 中显示该目录的内容,其中的所有文件。

如果:

string[] filePaths = Directory.EnumerateFiles() //:<------
for (int i = 0; i < filePaths.Length; ++i)
{
lbz2.Items.Add(i);
}

不起作用,我愿意接受建议。

最佳答案

这应该有效:

foreach (var filePath in Directory.EnumerateFiles(lbz.SelectedItem.ToString()))
{
lbz2.Items.Add(filePath);
}

EnumerateFiles 返回 IEnumerable<string> , 不是 string[] .

关于c# - 在 ListBox 中选择一个目录并在另一个 ListBox 中显示所选目录的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11455647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com