我使用以下方法将目录枚举为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
通过在 lbz 中选择一个目录并将该目录的内容(其中的所有文件)显示在 lbz2 中来填充另一个(lbz2)。
如果:
string[] filePaths = Directory.EnumerateFiles() //:<------
for (int i = 0; i < filePaths.Length; ++i)
{
lbz2.Items.Add(i);
}
不起作用,我愿意接受建议。