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扩展方法的理解