Как создать проводник в браузере? - PullRequest
31 голосов
/ 10 марта 2010

Используя C # и WinForms в VS2008, я хочу создать файловый браузер, который будет выглядеть и работать как левая панель в проводнике Windows. К моему удивлению, такой элемент управления не поставляется с .NET по умолчанию.

В идеале я бы хотел, чтобы его содержимое было точно таким же, как в Проводнике. Например, в Windows 7 должны отображаться псевдопапки «Избранное» и «Библиотеки». Конечно, я не хочу кодировать специально для каждой версии Windows, если смогу помочь.

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

Можно ли как-нибудь просто использовать вместо этого элемент управления Explorer? Или, если нет, получить доступ к дереву элементов, которые оно будет отображать?

Ответы [ 3 ]

31 голосов
/ 10 марта 2010

Microsoft предоставляет пошаговое руководство по созданию интерфейса в стиле проводника Windows в C # .

Есть также несколько примеров на Code Project и других сайтах. Непосредственные примеры: Дерево обозревателя , Мой обозреватель , Обозреватель файлов и Расширенный обозреватель файлов , но есть и другие. Дерево исследователей выглядит лучше всего из краткого взгляда, который я сделал.

Я использовал поисковый запрос windows explorer tree view C# в Google, чтобы найти эти ссылки.

1 голос
/ 10 марта 2010

Это не так просто, как кажется, реализовать такой элемент управления. Проводник работает с элементами оболочки, а не с элементами файловой системы (например, панель управления, папка принтеров и т. Д.). Если вам нужно реализовать это, я предлагаю взглянуть на функции оболочки Windows на http://msdn.microsoft.com/en-us/library/bb776426(VS.85).aspx.

0 голосов
/ 10 марта 2010

Взгляните на Shell MegaPack контрольный набор. Он обеспечивает Windows Explorer, такой как просмотр папок / файлов, с большинством функций и функций, таких как контекстные меню, переименование, перетаскивание, значки, значки наложения, эскизы и т. Д.

...