2009-04-22 6 views
6

Je suis à la recherche de la solution la plus simple pour implémenter une boîte de dialogue de recherche de dossiers avec des cases à cocher devant les répertoires de mon projet WinForms (C#). J'ai vu ce type de boîte de dialogue dans Vista dans le centre de sauvegarde. C'était comme une boîte de dialogue de recherche de dossier normale, mais devant chaque dossier, il y avait une case à cocher. Si vous avez coché un dossier, tous les dossiers et fichiers ont également été vérifiés, alors que vous pouvez les désélectionner séparément par la suite.Boîte de dialogue Parcourir les dossiers avec des cases à cocher?

S'il n'y a pas de contrôle préfabriqué ou autre pour cela, alors quelle est la manière la plus simple de: - Manipuler une boîte de dialogue de recherche de dossier normale pour inclure la fonctionnalité de case à cocher; ou - Manipuler un contrôle TreeView pour utiliser des icônes Shell pour les chemins (donc le bon système icônes pour Desktop, My Music, dossiers normaux, fichiers, etc) afin que je puisse en construire un moi-même?

Remarque: Je souhaite que la boîte de dialogue/contrôle affiche les fichiers et dossiers.

Merci d'avance pour tous conseils et astuces. =)

Répondre

4

Commencez par vew arbre. (vous devrez vous charger de chercher les enfants de façon dynamique, cependant). Si vous ne vous souciez pas de l'espace de noms de l'Explorateur (par exemple Panneau de configuration sous Poste de travail ou Bureau avec corbeille, Network Neigborhood et autres éléments ci-dessous), vous n'avez besoin que de fichiers sur des lecteurs. Commencez par énumérer les lettres de lecteur (en utilisant System.IO.Directory.GetLogicalDrives).

Vous pouvez obtenir les icônes de shell en appelant ExtendedFileInfo.GetIconForFilename à partir de la bibliothèque ManagedWinapi (http://mwinapi.sourceforge.net/), qui fonctionne à la fois pour les fichiers et les dossiers.

0

La manière la plus simple d'implémenter quelque chose comme ceci serait d'utiliser un contrôle TreeView standard avec la propriété CheckBoxes définie sur true. Vous devriez également pouvoir utiliser des images si vous souhaitez ajouter une petite image de dossier à côté de chaque nœud.

See this MSDN article for more info.

0

FolderBrowserDialog ne prend pas en charge les cases à cocher. Jetez un oeil à FolderView contrôle qui affiche les cases à cocher multi-état à côté des dossiers et des fichiers.

Questions connexes