我在Windows窗体中创建了一个comboBox,在这个comboBox中我想在特定目录中显示文件名。
我的代码表格1:
private string path = (@"C:\Users\khaab\Documents\visual studio 2015\Projects\ReadingXML\ReadingXML\bin\Debug\Customers");
private void SelectConfigComboBox_DropDown(object sender, EventArgs e)
{
List<String> Configurations = Directory.EnumerateDirectories(path).ToList();
Path.GetFileName(path);
SelectConfigComboBox.DataSource = Configurations;
}
我现在的问题是,当我点击ComboBox时,它会显示整个路径名,我只想要该目录中文件的名称。
答案 0 :(得分:1)
使用Path.GetFileName
扩展方法将Select
方法应用于每个文件:
private void SelectConfigComboBox_DropDown(object sender, EventArgs e)
{
List<String> Configurations = Directory.EnumerateFiles(path)
.Select(p => Path.GetFileName(p))
.ToList();
SelectConfigComboBox.DataSource = Configurations;
}
答案 1 :(得分:0)
获取所有fileEntries(完整路径),然后使用Path.GetFileName()
仅获取每个文件的文件名:
List<String> Configurations = new List<string>();
string [] fileEntries = Directory.GetFiles(path);
foreach(string fileName in fileEntries)
{
Configurations.Add(Path.GetFileName(fileName);
}
SelectConfigComboBox.DataSource = Configurations;
答案 2 :(得分:0)
在设置DataSource之前,使用Path.GetFileName获取Directory.EnumerateDirectories(path).ToList()结果中的项目
答案 3 :(得分:0)
FileInfo
具有Name
属性,仅包含文件名部分。
var files= new DirectoryInfo(path).GetFiles("*");
var firstFilename = files[0].Name;