簡體   English   中英

c#:如何使用P / Invoke更改FolderBrowserDialog的標題?

[英]c#: How to change title of FolderBrowserDialog using P/Invoke?

FolderBrowserDialog顯示一個文本“ Browse For Folder”作為標題。

該鏈接說,使用P / Invoke我們可以做到這一點。 那是什么? 如何為此使用P / Invoke?

還有其他方法可以改變這一點嗎?

簡而言之,答案是否定的。 P / Invoke允許您調用本地Windows API函數。 您可以在此處閱讀有關它的舊文章,但仍是相關的文章: http : //msdn.microsoft.com/zh-cn/magazine/cc164123.aspx

不幸的是,您需要調用ShBrowseForFolder的特定功能不允許您為窗口標題指定其他文本。

我不認為我們可以更改文件夾瀏覽器對話框的標題,如果有的話,可以使用復雜的p / Invoke調用。

我知道有一個有趣的XBrowseForFolder-SHBrowseForFolder替代包裝

它是一個vc ++組件,您只需很少的代碼就可以在c#項目中使用此組件。

如果您正在開發用於Windows 7的軟件(並使用.NET 3.5 SP1),則可以下載並使用Windows API代碼包 ,其中附帶了許多附加控件,這些控件可以替代FolderBrowserDialog。

這是Windows API代碼包中包含的內容

Windows 7任務欄

  • 跳轉列表,圖標疊加,進度欄,帶標簽的縮略圖和縮略圖工具欄

Windows Shell

  • Windows 7庫
  • Windows Shell搜索API支持
  • 資源管理器瀏覽器控件
  • 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 Imaging Component(WIC)API

其他

  • Windows Vista和Windows 7任務對話框
  • 傳感器平台API
  • 擴展語言服務API
  • 電源管理API
  • 應用程序重啟和恢復API
  • 網絡列表管理器API
  • 命令鏈接控件和系統定義的外殼圖標

您不能更改對話框標題。 如果需要,可以考慮使用Shell MegaPack中提供的商用FolderBrowserDialog替換組件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM