c#:如何使用P / Invoke更改FolderBrowserDialog的标题?

时间:2010-02-17 05:01:13

标签: c# .net title folderbrowserdialog

FolderBrowserDialog显示文本“Browse For Folder”作为标题。

This Link说使用P / Invoke我们可以做到这一点。那是什么? 如何使用P / Invoke?

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

4 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

我知道有一个有趣的XBrowseForFolder - Wrapper for SHBrowseForFolder替代方案。

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

答案 2 :(得分:0)

如果您正在为Windows 7开发软件(并使用.NET 3.5 SP1),那么您可以下载并使用带有一堆额外控件的Windows API Code Pack,这些控件可能是FolderBrowserDialog的替代品。

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

Windows 7任务栏

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

Windows Shell

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

DirectX

  • Direct3D 11.0,Direct3D 10.1 / 10.0,DXGI 1.0 / 1.1,Direct2D 1.0,DirectWrite,Windows Imaging Component(WIC)API

其他

  • Windows Vista和Windows 7任务对话框
  • 传感器平台API
  • 扩展语言服务API
  • 电源管理API
  • 应用程序重启和恢复API
  • 网络列表管理器API
  • 命令链接控件和系统定义的Shell图标

答案 3 :(得分:0)

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