我正在编写一些 c# 代码,首先让用户单击目录按钮并选择一个文件夹。如何加载包含该文件夹内容的组合框(它将是文本文件)?由于目录可以根据选择的文件夹而改变,我不知道该怎么做。
来自评论:
foreach (String file in System.IO.Directory.GetFiles(?????)) {
comboBox1.Items.Add(new System.IO.FileInfo(file).Name);
}
不知道用什么代替???让它工作。
您可以尝试以下简单的方法:
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。
首先你需要得到目录选择的结果。
然后你会使用 GetFiles:
var files = Directory.GetFiles(path, "*.txt")
这将返回一个文本文件数组。
然后你可以循环遍历:
foreach(var file in files)
{
combobox.Item.Add(file);
}