Диалог просмотра папки с флажками? - PullRequest
6 голосов
/ 22 апреля 2009

Я ищу простейшее решение для реализации диалогового окна просмотра папок с флажками перед каталогами в моем (C #) проекте WinForms.

Я видел такой диалог в Vista в центре резервного копирования. Это было похоже на обычный диалог просмотра папок, но перед каждой папкой был флажок. Если вы проверили папку, все папки и файлы в ней также были проверены, но вы все равно можете отменить их выбор отдельно.

Если для этого нет готового элемента управления или чего-либо еще, то какой самый простой способ это сделать: - манипулировать обычным диалоговым окном просмотра папок, чтобы включить функциональность флажка; или же - Управляйте элементом управления TreeView, чтобы использовать значки оболочки для путей (поэтому правильные значки system для рабочего стола, Моя музыка, обычные папки, файлы и т. Д.), Чтобы я мог создать их самостоятельно?

Примечание. Я хочу, чтобы в диалоговом окне / элементе управления отображались папки и .

Заранее спасибо за любые советы и подсказки. =)

Ответы [ 3 ]

4 голосов
/ 22 апреля 2009

Начните с дерева. (хотя вам придется самостоятельно заботиться о динамическом извлечении детей).

Если вас не волнует пространство имен проводника (т. Е. Панель управления ниже «Мой компьютер» или «Рабочий стол с корзиной», «Сетевое окружение» и некоторые другие материалы ниже) и вам нужны только файлы на дисках с буквами дисков, вы можете запустить с перечислением букв дисков (с использованием System.IO.Directory.GetLogicalDrives).

Вы можете получить значки оболочки, вызвав ExtendedFileInfo.GetIconForFilename из библиотеки ManagedWinapi (http://mwinapi.sourceforge.net/),, которая работает как для файлов, так и для папок.

0 голосов
/ 10 июля 2009

FolderBrowserDialog не поддерживает флажки. Взгляните на элемент управления FolderView , который отображает флажки с несколькими состояниями рядом с папками и файлами.

0 голосов
/ 22 апреля 2009

Самым простым способом реализации чего-либо подобного является использование стандартного элемента управления TreeView со свойством CheckBoxes, установленным в значение true. Вы также можете использовать изображения, если хотите добавить небольшое изображение папки рядом с каждым узлом.

См. Эту статью MSDN для получения дополнительной информации.

...