winforms 获取folderBrowserDialog中所选路径的文件夹名称

5tmbdcev  于 2022-11-25  发布在  其他
关注(0)|答案(3)|浏览(168)

你好,我怎么能在文本框中显示选定的文件夹名称。我有3个文件夹。它显示文本框中的2个文件夹,但另一个不会显示。
例如:
C:\员工记录\详细信息\姓名\中间名\姓氏
2文件夹名称显示没有问题。
以下是Middlename的代码:

middleName.Text = Path.GetFileName(Path.GetDirectoryName(folderBrowserDialog1.SelectedPath));

姓氏:

lastName.Text = new DirectoryInfo(folderBrowserDialog1.SelectedPath).Name;

对于Name,它没有显示在文本框中。我如何在文本框中显示它?

hyrbngr7

hyrbngr71#

您只需要多次调用GetFileNameGetDirectoryName,例如:

var folderPath = @"C:\EmpRecord\Details\Name\MiddleName\Lastname";

Console.WriteLine(Path.GetFileName(folderPath);

folderPath = Path.GetDirectoryName(folderPath);

Console.WriteLine(Path.GetFileName(folderPath);

folderPath = Path.GetDirectoryName(folderPath);

Console.WriteLine(Path.GetFileName(folderPath);

将显示以下内容:

Lastname
MiddleName
Name
nuypyhwy

nuypyhwy2#

试试看:

Name.Text = folderBrowserDialog1.SelectedPath.Substring(folderBrowserDialog1.SelectedPath.LastIndexOf(@"\") + 1).Substring(4));
rkkpypqq

rkkpypqq3#

另一个使用Uri类:

Uri uri = new Uri(folderBrowserDialog1.SelectedPath);            
if (uri.Segments.Length >= 3)
{
    lastName.Text = uri.Segments[uri.Segments.Length - 1].Trim('/');
    middleName.Text = uri.Segments[uri.Segments.Length - 2].Trim('/');
    firstName.Text = uri.Segments[uri.Segments.Length - 3].Trim('/');
}

相关问题