美文网首页
C# FolderBrowserDialog组件

C# FolderBrowserDialog组件

作者: 技术老小子 | 来源:发表于2025-02-19 05:18 被阅读0次

摘要


Windows 窗体是一种流行的 GUI 开发技术,其中最常用的组件之一是 FolderBrowserDialog。该组件允许用户浏览并选择文件夹,这在很多应用程序中都非常有用,特别是那些需要用户输入文件路径的应用程序。

FolderBrowserDialog 组件通常由两个主要部分组成:一个是选择文件夹的对话框,另一个是选择文件夹后执行的操作。当用户点击“浏览”按钮时,FolderBrowserDialog 将显示一个对话框,其中包含了当前计算机上的所有可用文件夹。用户可以从中选择一个文件夹,并且在选择后,可以执行各种操作,例如将文件移动到选定的文件夹中、复制文件、创建新文件夹等。

在开发中,通常使用 FolderBrowserDialog 来帮助用户浏览文件夹。用户可以在对话框中选择要访问的文件夹,而开发人员可以使用该选定的文件夹作为参数,以便执行相关操作。这种方法使得应用程序更加用户友好,并且能够提高应用程序的效率。

除了基本的文件夹浏览功能之外,FolderBrowserDialog 还提供了一些高级选项,例如搜索文件夹中的文件、排序文件夹中的文件、获取文件夹的完整路径等。这些选项使得开发人员能够更加灵活地控制应用程序的行为,从而满足用户的需求。

虽然 FolderBrowserDialog 组件在开发中非常有用,但它也存在一些限制。例如,它不能处理文件夹中的隐藏文件或者目录,也不能自定义对话框的样式或者功能。因此,在使用 FolderBrowserDialog 组件时,开发人员需要谨慎考虑这些限制,并根据具体的需求来选择是否使用该组件。

正文


FolderBrowserDialog 组件在运行时使用 ShowDialog 方法显示。 设置 RootFolder 属性,以确定将显示在对话框树状视图中的最顶层文件夹和任何子文件夹。 显示对话框后,可以使用 SelectedPath 属性获取所选文件夹的路径。

属性

InitialDirectory 获取或设置文件夹浏览器对话框显示的初始目录。
RootFolder 获取或设置从其开始浏览的根文件夹。
SelectedPath 获取或设置用户选定的路径。
ShowNewFolderButton 获取或设置一个值,该值指示“新建文件夹”按钮是否显示在文件夹浏览对话框中。

方法

Reset() 将属性重置为其默认值。
RunDialog(IntPtr) 在派生类中被重写时,指定通用对话框。
ShowDialog() 用默认的所有者运行通用对话框。
ShowDialog(IWin32Window) 运行具有指定所有者的通用对话框。

SpecialFolder

Environment.GetFolderPath(Environment.SpecialFolder.Personal)

AdminTools 48 用于存储各个用户的管理工具的文件系统目录。 Microsoft Management Console (MMC) 会将自定义的控制台保存在此目录中,并且此目录将随用户一起漫游。
ApplicationData 26 用作当前漫游用户的应用程序特定数据的公共储存库的目录。 漫游用户在网络上的多台计算机上工作。 漫游用户的配置文件保留在网络服务器上,并在用户登录时加载到系统中。
CDBurning 59 充当等待写入 CD 的文件的临时区域的文件系统目录。
CommonAdminTools 47 包含计算机所有用户的管理工具的文件系统目录。
CommonApplicationData 35 用作所有用户使用的应用程序特定数据的公共储存库的目录。
CommonDesktopDirectory 25 包含在所有用户桌面上出现的文件和文件夹的文件系统目录。
CommonDocuments 46 包含所有用户共有的文档的文件系统目录。
CommonMusic 53 充当所有用户共有的音乐文件的存储库的文件系统目录。
CommonOemLinks 58 为了实现向后兼容,Windows Vista 中可以识别此值,但该特殊文件夹本身已不再使用。
CommonPictures 54 充当所有用户共有的图像文件的存储库的文件系统目录。
CommonProgramFiles 43 用于应用程序间共享的组件的目录。 若要在非 x86 进程中获取 x86 常规程序文件目录,请使用 ProgramFilesX86 成员。
CommonProgramFilesX86 44 “Program Files”文件夹。
CommonPrograms 23 跨应用程序共享的组件的文件夹。
CommonStartMenu 22 文件系统目录,包含所有用户的“开始”菜单上都出现的程序和文件夹。
CommonStartup 24 文件系统目录,包含所有用户的“启动”文件夹中都出现的程序。
CommonTemplates 45 包含所有用户都可以使用的模板的文件系统目录。
CommonVideos 55 充当所有用户共有的视频文件的存储库的文件系统目录。
Cookies 33 用作 Internet Cookie 的公共储存库的目录。
Desktop 0 逻辑桌面,而不是物理文件系统位置。
DesktopDirectory 16 用于物理上存储桌面上的文件对象的目录。 不要混淆此目录与桌面文件夹本身,后者是一个虚拟文件夹。
Favorites 6 用作用户收藏夹项的公共储存库的目录。
Fonts 20 包含字体的虚拟文件夹。
History 34 用作 Internet 历史记录项的公共储存库的目录。
InternetCache 32 用作 Internet 临时文件的公共储存库的目录。
LocalApplicationData 28 用作当前非漫游用户使用的应用程序特定数据的公共储存库的目录。
LocalizedResources 57 包含本地化资源数据的文件系统目录。
MyComputer 17 “我的计算机”文件夹。 传递给 Environment.GetFolderPath 方法时,MyComputer 枚举成员始终生成空字符串(""),这是因为没有为“我的电脑”文件夹定义路径。
MyDocuments 5 “我的文档”文件夹。 此成员等效于 Personal
MyMusic 13 “我的音乐”文件夹。
MyPictures 39 “我的图片”文件夹。
MyVideos 14 充当属于某个用户的视频的存储库的文件系统目录。
NetworkShortcuts 19 文件系统目录,包含“网上邻居”虚拟文件夹中可能存在的链接对象。
Personal 5 用作文档的公共储存库的目录。 此成员等效于 MyDocuments
PrinterShortcuts 27 文件系统目录,包含“打印机”虚拟文件夹中可能存在的链接对象。
ProgramFiles 38 “Program files”目录。 在非 x86 进程中,将 ProgramFiles 传递到 GetFolderPath(Environment+SpecialFolder) 方法将返回非 x86 程序的路径。 若要在非 x86 进程中获取 x86 程序文件目录,请使用 ProgramFilesX86 该成员。
ProgramFilesX86 42 x86 “Program Files”文件夹。
Programs 2 包含用户程序组的目录。
Recent 8 包含用户最近使用过的文档的目录。
Resources 56 包含资源数据的文件系统目录。
SendTo 9 包含“发送”菜单项的目录。
StartMenu 11 包含“开始”菜单项的目录。
Startup 7 对应于用户的“开始”程序组的目录。 只要用户登录或启动 Windows,系统就会启动这些程序。
System 37 “System”目录。
SystemX86 41 Windows “系统”文件夹。
Templates 21 用作文档模板的公共储存库的目录。
UserProfile 40 用户的配置文件文件夹。 应用程序不应在此级别上创建文件或文件夹;它们应将其数据放在 ApplicationData 所引用的位置之下。
Windows 36 Windows 目录或 SYSROOT。 它与 %windir% 或 %SYSTEMROOT% 环境变量相对应。

[图片上传失败...(image-a5dd38-1739912544892)]

FolderBrowserDialog dialog = new FolderBrowserDialog();
//dialog.RootFolder = Environment.SpecialFolder.Fonts;//这个作用不太明显
dialog.InitialDirectory=@"C:\";
dialog.Description ="这个是默认的目录";
dialog.ShowNewFolderButton = false;//不显示新建文件夹
if (dialog.ShowDialog() == DialogResult.OK)
{
    txtDir.Text = dialog.SelectedPath;
}

相关文章

  • unity 使用RawImage实现UI帧动画

    Raw Image组件 先了解下坐标 创建C#脚本,关联到Raw Image组件对象上 效果(图片不太标准?)

  • C#图形文字打印预览的实例

    一、C#窗体打印组件 Windows 窗体中的打印主要包括: 使用PrintDocument 组件来使用户能够打印...

  • CocosCreator中,实现事件监听

    类似于c#中的event功能。 假设:血量条需要关注血量的变化 组件HpCtr中持有一个字段hp,通过该组件提供的...

  • 基于c#身份证识别三种相关技术

    最近研究C#相关的OCR技术,图像识别一般C和C++这种底层语言做的比较多,C#主要是依托一些封装好的组件进行调用...

  • C# with MySQL

    建一个C#项目 用一个label 和 一个 button 组件 然后设置lable 的DdataBinding 的...

  • c#特性

    c#特性: 特性(Attribute)是用于在运行时传递程序中的各种元素(比如类,方法,结构,枚举,组件等)的行为...

  • 简单、轻量、功能非常强大的C#/ASP.NET定时调度任务执行管

    本文首发于《简单、轻量、功能非常强大的C#/ASP.NET定时调度任务执行管理组件--FluentSchedule...

  • C# 6/7 新功能

    C#新功能 一、C#历史演变 C# 1,Visual Studio .NET 2002: C# 初版。 C# 1....

  • 编程语言和谐的大家庭

    Java是人气最旺、开源组件最多、可能有Oracle收取Java专利费小风险的语言~.NET C#是后台巨硬、开源...

  • CLR中的程序集

    在CLR中,程序集相当于“组件”。 程序集的产生过程:C# 源代码文件----->(经过编译器[CSC.exe]编...

网友评论

      本文标题:C# FolderBrowserDialog组件

      本文链接:https://www.haomeiwen.com/subject/xtospjtx.html