2009-04-22 16 views
6

Poszukuję najłatwiejszego rozwiązania, aby zaimplementować okno dialogowe przeglądania folderu z polami wyboru przed katalogami w moim projekcie WinForms (C#).Okno dialogowe przeglądania folderów z polami wyboru?

Widziałem tego rodzaju okno dialogowe w Vista w centrum zapasowym. To było jak normalne okno przeglądania folderów, ale przed każdym folderem znajdowało się pole wyboru. Jeśli zaznaczyłeś folder, wszystkie foldery i pliki w nim również zostały zaznaczone, a potem możesz odznaczyć je oddzielnie.

Jeśli nie ma żadnej kontroli prefabrykatów lub cokolwiek innego, to jaki jest najłatwiejszy sposób: - Manipuluj zwykłym oknem przeglądania folderów, aby włączyć funkcję pola wyboru; lub - Manipuluj formantem TreeView, aby używać ikon skorupy dla ścieżek (aby więc prawidłowe ikony systemu dla pulpitu, mojej muzyki, normalnych folderów, plików itp.), więc mogę je sam utworzyć?

Uwaga: Chcę, aby okno dialogowe/kontrolka pokazywało oba foldery: i.

Z góry dziękuję za wszelkie wskazówki i wskazówki. =)

Odpowiedz

4

Rozpocznij z drzewa vew. (musisz jednak zadbać o dynamiczne pobieranie własnych dzieci).

Jeśli nie obchodzi Cię Przestrzeń nazw Eksplorera (np. Panel sterowania poniżej Mój komputer lub Pulpit z Koszem, Nośnik sieciowy i kilka innych rzeczy poniżej) i potrzebujesz tylko plików na dyskach z literami dysku, możesz zacznij od wyliczenia liter dysków (przy użyciu System.IO.Directory.GetLogicalDrives).

Można uzyskać ikony powłoki, wywołując metodę ExtendedFileInfo.GetIconForFilename z biblioteki ManagedWinapi (http://mwinapi.sourceforge.net/), która działa zarówno w przypadku plików, jak i folderów.

0

Najprostszym sposobem na wdrożenie czegoś takiego byłoby użycie standardowego kontrolki TreeView z właściwością CheckBoxes ustawioną na true. Powinieneś także móc używać obrazów z nim, jeśli chcesz dodać mały obraz folderu obok każdego węzła.

See this MSDN article for more info.

0

FolderBrowserDialog nie obsługuje pól wyboru. Spójrz na kontrolkę FolderView, która wyświetla pola wyboru z wieloma stanami obok folderów i plików.