C #: Как изменить заголовок FolderBrowserDialog с помощью P / Invoke? - PullRequest
1 голос
/ 17 февраля 2010

FolderBrowserDialog отображает текст «Обзор папки» в качестве заголовка.

Эта ссылка говорит о том, что с помощью P / Invoke мы можем это сделать. Что это такое? Как использовать P / Invoke для этого?

Есть ли другой способ изменить это?

Ответы [ 4 ]

0 голосов
/ 18 февраля 2010

Вы не можете изменить заголовок диалогового окна. Если вы хотите, вы можете использовать коммерческий заменяющий компонент FolderBrowserDialog, доступный в Shell MegaPack

0 голосов
/ 17 февраля 2010

Не думаю, что мы можем изменить заголовок диалогового окна браузера папок, если есть способ, то использовать сложные вызовы p / Invoke.

Я знаю, что есть интересная XBrowseForFolder - Обертка для SHBrowseForFolder доступна альтернатива.

Это компонент vc ++, вы можете использовать этот компонент в своем проекте на c # без особых усилий с вашей стороны.

0 голосов
/ 17 февраля 2010

Если вы разрабатываете программное обеспечение для Windows 7 (и используете .NET 3.5 SP1), тогда вы можете загрузить и использовать Windows API Code Pack , который включает в себя множество дополнительных элементов управления, которые могут предложить альтернативу FolderBrowserDialog.

Вот что входит в Windows API Code Pack

Панель задач Windows 7

  • Списки переходов, Наложение значков, Индикатор выполнения, Миниатюры с вкладками и Панели инструментов миниатюр

Windows Shell

  • Библиотеки Windows 7
  • Поддержка API поиска в оболочке Windows
  • Управление браузером Explorer
  • Иерархия объектов пространства имен оболочки
  • Система свойств 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, API-интерфейсы Windows Imaging Component (WIC)

Другие

  • Окна задач Windows Vista и Windows 7
  • API сенсорной платформы
  • API расширенных лингвистических услуг
  • API управления питанием
  • API перезапуска и восстановления приложений
  • API диспетчера сетевых списков
  • Элемент управления Command Link и системные значки оболочки
0 голосов
/ 17 февраля 2010

Короче, ответ - нет. P / Invoke позволяет вам вызывать собственные функции Windows API. Вы можете прочитать старую, но все еще актуальную статью об этом здесь: http://msdn.microsoft.com/en-us/magazine/cc164123.aspx

К сожалению, конкретная функция, которую вам нужно вызвать ShBrowseForFolder , не позволяет указывать другой текст для заголовка окна.

...