C# 将不带扩展名的文件名加载到CheckedListBox
我有一个复选框;将文件加载到文件夹中;选中时运行/打开 我想要达到的是:C# 将不带扩展名的文件名加载到CheckedListBox,c#,filenames,openfiledialog,checkedlistbox,folderbrowserdialog,C#,Filenames,Openfiledialog,Checkedlistbox,Folderbrowserdialog,我有一个复选框;将文件加载到文件夹中;选中时运行/打开 我想要达到的是: -将不带扩展名的文件名加载到CheckedListBox中 我可以检索: "C:\Folder1\anotherfolder\myfile1.txt" //... private string openFileName, folderName; private bool fileOpened = false; //... OpenFileDialog ofd = new OpenFile
-将不带扩展名的文件名加载到CheckedListBox中 我可以检索:
"C:\Folder1\anotherfolder\myfile1.txt"
//...
private string openFileName, folderName;
private bool fileOpened = false;
//...
OpenFileDialog ofd = new OpenFileDialog();
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (!fileOpened)
{
ofd.InitialDirectory = fbd.SelectedPath;
ofd.FileName = null;
fbd.Description = "Please select your *.txt folder";
fbd.RootFolder = System.Environment.SpecialFolder.MyComputer;
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string foldername = fbd.SelectedPath;
foreach (string f in Directory.GetFiles(foldername))
checkedListBox1.Items.Add(f);
}
但是;我只想被检索:“文件名”(带或不带扩展名)
类似于:
"myfile1.txt"
我曾试图用folderBrowserDialog实现这一点,但我不知道如何实现这一点
我的当前代码:
"C:\Folder1\anotherfolder\myfile1.txt"
//...
private string openFileName, folderName;
private bool fileOpened = false;
//...
OpenFileDialog ofd = new OpenFileDialog();
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (!fileOpened)
{
ofd.InitialDirectory = fbd.SelectedPath;
ofd.FileName = null;
fbd.Description = "Please select your *.txt folder";
fbd.RootFolder = System.Environment.SpecialFolder.MyComputer;
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string foldername = fbd.SelectedPath;
foreach (string f in Directory.GetFiles(foldername))
checkedListBox1.Items.Add(f);
}
谁能给我指出正确的方向吗?
提前感谢。您根本不需要OpenFileDialog,只需更改添加文件的行即可
checkedListBox1.Items.Add(Path.GetFileName(f));
只要记得加上
using System.IO;
您还可以将所有内容简化为一行代码
checkedListBox1.Items.AddRange(Directory.GetFiles(fbd.SelectedPath).Select(x => Path.GetFileName(x)).ToArray());
您根本不需要OpenFileDialog,只需更改添加文件的行即可
checkedListBox1.Items.Add(Path.GetFileName(f));
只要记得加上
using System.IO;
您还可以将所有内容简化为一行代码
checkedListBox1.Items.AddRange(Directory.GetFiles(fbd.SelectedPath).Select(x => Path.GetFileName(x)).ToArray());
很高兴为您提供帮助,以加深您对搜索“Lambda表达式”和IEnumerable扩展方法的理解。很高兴为您提供帮助,以加深您对搜索“Lambda表达式”和IEnumerable扩展方法的理解