0

我正在编写一些 c# 代码,首先让用户单击目录按钮并选择一个文件夹。如何加载包含该文件夹内容的组合框(它将是文本文件)?由于目录可以根据选择的文件夹而改变,我不知道该怎么做。

来自评论:

foreach (String file in System.IO.Directory.GetFiles(?????)) {
  comboBox1.Items.Add(new System.IO.FileInfo(file).Name);
}

不知道用什么代替???让它工作。

4

2 回答 2

1

您可以尝试以下简单的方法:

private void button1_Click(object sender, EventArgs e) {
  using (FolderBrowserDialog fbd = new FolderBrowserDialog()) {
    if (fbd.ShowDialog() == DialogResult.OK) {
      UpdateComboBox(fbd.SelectedPath);
    }
  }
}

private void UpdateComboBox(string folderPath) {
  comboBox1.Items.Clear();
  foreach (string fileName in Directory.GetFiles(folderPath)) {
    comboBox1.Items.Add(Path.GetFileName(fileName));
  }
}

假设 WinForms。

于 2012-06-18T15:40:17.043 回答
0

首先你需要得到目录选择的结果。

然后你会使用 GetFiles:

   var files = Directory.GetFiles(path, "*.txt")

这将返回一个文本文件数组。

然后你可以循环遍历:

foreach(var file in files)
{
   combobox.Item.Add(file);
}
于 2012-06-18T15:41:18.590 回答