web-dev-qa-db-fra.com

Comment créer un contrôle de navigateur de dossier de type Explorer?

À l’aide de C # et de WinForms dans VS2008, je souhaite créer un contrôle de navigateur de fichiers qui ressemble au volet de gauche de l’explorateur Windows. À mon grand étonnement, un tel contrôle n'est pas livré avec .NET par défaut.

Idéalement, je voudrais que son contenu soit exactement le même que dans Explorer. Par exemple, sous Windows 7, il devrait afficher les pseudo-dossiers Favoris et Bibliothèques. Bien entendu, je ne souhaite pas coder spécifiquement pour chaque version de Windows si je peux l’aider.

J'ai parcouru le site et il y a quelques exemples de tels contrôles, mais ils sont tous roulés à la main et ne fonctionneront donc pas à 100% de la même façon que celui de Explorer.

Est-il possible de simplement réutiliser le contrôle Explorer à la place? Ou, sinon, pour accéder à un arbre des éléments qu'il afficherait?

30
Thomas

Microsoft fournit une procédure pas à pas pour créer une interface de style Explorateur Windows en C # .

Il existe également plusieurs exemples sur Code Project et d'autres sites. Exemples immédiats: Arborescence de l'explorateur , Mon explorateur , Navigateur de fichiers et Explorateur de fichiers avancé mais il y en a d'autres Explorer Tree semble regarder le meilleur du bref regard que j'ai pris.

J'ai utilisé le terme de recherche windows Explorer tree view C# dans Google pour trouver ces liens.

30
Jeff Yates

Ce n'est pas aussi facile que cela semble être de mettre en place un contrôle comme celui-là. Explorer fonctionne avec les éléments du shell, pas avec les éléments du système de fichiers (ex: le panneau de configuration, le dossier des imprimantes, etc.). Si vous avez besoin de l'implémenter, je vous suggère de consulter les fonctions du shell Windows à l'adresse http://msdn.Microsoft.com/en-us/library/bb776426(VS.85).aspx .

1
munissor

Jetez un oeil à Shell MegaPack ensemble de contrôle. Il offre à l’explorateur Windows, comme la navigation dans les dossiers/fichiers, la plupart des fonctionnalités telles que les menus contextuels, le renommage, le glisser-déposer, les icônes, les icônes de superposition, les vignettes, etc.

0
logicnp