1

FolderBrowserDialog 显示文本“浏览文件夹”作为标题。

这个链接说使用 P/Invoke 我们可以做到这一点。那是什么?如何为此使用 P/Invoke?

还有其他方法可以改变吗?

4

4 回答 4

0

如果您正在为 Windows 7 开发软件(并使用 .NET 3.5 SP1),那么您可以下载并使用Windows API 代码包,它带来了一堆额外的控件,这些控件可能提供了 FolderBrowserDialog 的替代方案。

以下是 Windows API 代码包中包含的内容

Windows 7 任务栏

  • 跳转列表、图标叠加、进度条、选项卡式缩略图和缩略图工具栏

窗口外壳

  • Windows 7 库
  • Windows Shell 搜索 API 支持
  • Explorer 浏览器控件
  • Shell 命名空间实体的层次结构
  • Windows Shell 属性系统
  • 外壳对象的拖放
  • Windows Vista 和 Windows 7 通用文件对话框,包括自定义控件
  • 已知文件夹和非文件系统容器

DirectX

  • Direct3D 11.0、Direct3D 10.1/10.0、DXGI 1.0/1.1、Direct2D 1.0、DirectWrite、Windows 映像组件 (WIC) API

其他

  • Windows Vista 和 Windows 7 任务对话框
  • 传感器平台 API
  • 扩展语言服务 API
  • 电源管理 API
  • 应用程序重启和恢复 API
  • 网络列表管理器 API
  • 命令链接控件和系统定义的外壳图标
于 2010-02-17T07:14:34.343 回答
0

简而言之,答案是否定的。P/Invoke 允许您调用本机 Windows API 函数。您可以在此处阅读一篇旧的但仍然相关的文章:http: //msdn.microsoft.com/en-us/magazine/cc164123.aspx

不幸的是,您需要调用ShBrowseForFolder的特定函数不允许您为窗口标题指定不同的文本。

于 2010-02-17T05:19:26.873 回答
0

您不能更改对话框标题。如果需要,可以考虑使用Shell MegaPack中提供的商业 FolderBrowserDialog 替换组件

于 2010-02-18T09:49:28.747 回答
0

我不认为我们可以更改文件夹浏览器对话框的标题,如果有办法,那么它使用复杂的 p/Invoke 调用。

我知道有一个有趣的XBrowseForFolder - 可用的 SHBrowseForFolder 包装器 替代品。

它是一个 vc++ 组件,您可以在您的 c# 项目中使用此组件,而您只需很少的编码工作。

于 2010-02-17T06:19:09.617 回答